From 4219eea9f1d587b034ff030ccaaf4d0618bd30ff Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sat, 14 May 2022 17:44:33 +0200 Subject: [PATCH] #663 - fixed sequences reset --- .../databasemigrator/BatchConfiguration.java | 50 +++++++++---------- .../databasemigrator/CustomIdGenerator.java | 29 +++++++++++ .../account/DestinationAccount.java | 9 ++-- .../category/DestinationCategory.java | 9 ++-- .../destination/chart/DestinationChart.java | 9 ++-- .../destination/hint/DestinationHint.java | 9 ++-- .../destination/icon/DestinationIcon.java | 9 ++-- .../destination/image/DestinationImage.java | 4 ++ .../repeating/DestinationRepeatingOption.java | 9 ++-- .../end/DestinationRepeatingEnd.java | 9 ++-- .../DestinationRepeatingEndAfterXTimes.java | 5 ++ .../end/DestinationRepeatingEndDate.java | 9 ++-- .../end/DestinationRepeatingEndNever.java | 5 ++ .../DestinationRepeatingModifier.java | 9 ++-- .../DestinationRepeatingModifierDays.java | 5 ++ .../DestinationRepeatingModifierMonths.java | 5 ++ .../DestinationRepeatingModifierYears.java | 5 ++ .../report/DestinationReportColumn.java | 9 ++-- .../report/DestinationReportSettings.java | 9 ++-- .../settings/DestinationSettings.java | 9 ++-- .../destination/tag/DestinationTag.java | 5 ++ .../tag/DestinationTemplateTag.java | 9 ++-- .../tag/DestinationTransactionTag.java | 9 ++-- .../template/DestinationTemplate.java | 9 ++-- .../DestinationTemplateGroup.java | 5 ++ .../transaction/DestinationTransaction.java | 9 ++-- .../destination/user/DestinationUser.java | 9 ++-- .../listener/GenericStepListener.java | 22 +++++--- 28 files changed, 193 insertions(+), 100 deletions(-) create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/CustomIdGenerator.java diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java index d105512bc..6e1acdf7e 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java @@ -241,7 +241,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationImageRepository)) .listener(new GenericChunkListener(TableNames.IMAGE)) - .listener(new GenericStepListener<>(TableNames.IMAGE, destinationImageRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.IMAGE, destinationImageRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -255,7 +255,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationIconRepository)) .listener(new GenericChunkListener(TableNames.ICON)) - .listener(new GenericStepListener<>(TableNames.ICON, destinationIconRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.ICON, destinationIconRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -269,7 +269,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationCategoryRepository)) .listener(new GenericChunkListener(TableNames.CATEGORY)) - .listener(new GenericStepListener<>(TableNames.CATEGORY, destinationCategoryRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.CATEGORY, destinationCategoryRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -283,7 +283,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationAccountRepository)) .listener(new GenericChunkListener(TableNames.ACCOUNT)) - .listener(new GenericStepListener<>(TableNames.ACCOUNT, destinationAccountRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.ACCOUNT, destinationAccountRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -297,7 +297,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationChartRepository)) .listener(new GenericChunkListener(TableNames.CHART)) - .listener(new GenericStepListener<>(TableNames.CHART, destinationChartRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.CHART, destinationChartRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), false)) .allowStartIfComplete(true) .build(); } @@ -311,7 +311,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationHintRepository)) .listener(new GenericChunkListener(TableNames.HINT)) - .listener(new GenericStepListener<>(TableNames.HINT, destinationHintRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.HINT, destinationHintRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -325,7 +325,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingEndRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_END)) - .listener(new GenericStepListener<>(TableNames.REPEATING_END, destinationRepeatingEndRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_END, destinationRepeatingEndRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -339,7 +339,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingEndAfterXTimesRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_END_AFTER_X_TIMES)) - .listener(new GenericStepListener<>(TableNames.REPEATING_END_AFTER_X_TIMES, destinationRepeatingEndAfterXTimesRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_END_AFTER_X_TIMES, destinationRepeatingEndAfterXTimesRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), false)) .allowStartIfComplete(true) .build(); } @@ -353,7 +353,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingEndDateRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_END_DATE)) - .listener(new GenericStepListener<>(TableNames.REPEATING_END_DATE, destinationRepeatingEndDateRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_END_DATE, destinationRepeatingEndDateRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), false)) .allowStartIfComplete(true) .build(); } @@ -367,7 +367,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingEndNeverRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_END_NEVER)) - .listener(new GenericStepListener<>(TableNames.REPEATING_END_NEVER, destinationRepeatingEndNeverRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_END_NEVER, destinationRepeatingEndNeverRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), false)) .allowStartIfComplete(true) .build(); } @@ -381,7 +381,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingModifierRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_MODIFIER)) - .listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER, destinationRepeatingModifierRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER, destinationRepeatingModifierRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -395,7 +395,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingModifierDaysRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_MODIFIER_DAYS)) - .listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_DAYS, destinationRepeatingModifierDaysRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_DAYS, destinationRepeatingModifierDaysRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), false)) .allowStartIfComplete(true) .build(); } @@ -409,7 +409,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingModifierMonthsRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_MODIFIER_MONTHS)) - .listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_MONTHS, destinationRepeatingModifierMonthsRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_MONTHS, destinationRepeatingModifierMonthsRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), false)) .allowStartIfComplete(true) .build(); } @@ -423,7 +423,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingModifierYearsRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_MODIFIER_YEARS)) - .listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_YEARS, destinationRepeatingModifierYearsRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_YEARS, destinationRepeatingModifierYearsRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), false)) .allowStartIfComplete(true) .build(); } @@ -437,7 +437,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationRepeatingOptionRepository)) .listener(new GenericChunkListener(TableNames.REPEATING_OPTION)) - .listener(new GenericStepListener<>(TableNames.REPEATING_OPTION, destinationRepeatingOptionRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPEATING_OPTION, destinationRepeatingOptionRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -451,7 +451,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationReportColumnRepository)) .listener(new GenericChunkListener(TableNames.REPORT_COLUMN)) - .listener(new GenericStepListener<>(TableNames.REPORT_COLUMN, destinationReportColumnRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPORT_COLUMN, destinationReportColumnRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -465,7 +465,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationReportSettingsRepository)) .listener(new GenericChunkListener(TableNames.REPORT_SETTINGS)) - .listener(new GenericStepListener<>(TableNames.REPORT_SETTINGS, destinationReportSettingsRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.REPORT_SETTINGS, destinationReportSettingsRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -479,7 +479,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationSettingsRepository)) .listener(new GenericChunkListener(TableNames.SETTINGS)) - .listener(new GenericStepListener<>(TableNames.SETTINGS, destinationSettingsRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.SETTINGS, destinationSettingsRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -493,7 +493,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationTagRepository)) .listener(new GenericChunkListener(TableNames.TAG)) - .listener(new GenericStepListener<>(TableNames.TAG, destinationTagRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.TAG, destinationTagRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -507,7 +507,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationTemplateTagRepository)) .listener(new GenericChunkListener(TableNames.TEMPLATE_TAGS)) - .listener(new GenericStepListener<>(TableNames.TEMPLATE_TAGS, destinationTemplateTagRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.TEMPLATE_TAGS, destinationTemplateTagRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -521,7 +521,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationTransactionTagRepository)) .listener(new GenericChunkListener(TableNames.TRANSACTION_TAGS)) - .listener(new GenericStepListener<>(TableNames.TRANSACTION_TAGS, destinationTransactionTagRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.TRANSACTION_TAGS, destinationTransactionTagRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -535,7 +535,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationUserRepository)) .listener(new GenericChunkListener(TableNames.USER_SOURCE)) - .listener(new GenericStepListener<>(TableNames.USER_SOURCE, destinationUserRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.USER_DESTINATION, destinationUserRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -549,7 +549,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationTransactionRepository)) .listener(new GenericChunkListener(TableNames.TRANSACTION)) - .listener(new GenericStepListener<>(TableNames.TRANSACTION, destinationTransactionRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.TRANSACTION, destinationTransactionRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -563,7 +563,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationTemplateRepository)) .listener(new GenericChunkListener(TableNames.TEMPLATE)) - .listener(new GenericStepListener<>(TableNames.TEMPLATE, destinationTemplateRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.TEMPLATE, destinationTemplateRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } @@ -577,7 +577,7 @@ public class BatchConfiguration .processor(new GenericDoNothingProcessor<>()) .writer(new GenericWriter<>(destinationTemplateGroupRepository)) .listener(new GenericChunkListener(TableNames.TEMPLATE_GROUP)) - .listener(new GenericStepListener<>(TableNames.TEMPLATE_GROUP, destinationTemplateGroupRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class))) + .listener(new GenericStepListener<>(TableNames.TEMPLATE_GROUP, destinationTemplateGroupRepository, context.getBean("jdbcTemplate2", JdbcTemplate.class), true)) .allowStartIfComplete(true) .build(); } diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/CustomIdGenerator.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/CustomIdGenerator.java new file mode 100644 index 000000000..96be32804 --- /dev/null +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/CustomIdGenerator.java @@ -0,0 +1,29 @@ +package de.deadlocker8.budgetmaster.databasemigrator; + +import org.hibernate.HibernateException; +import org.hibernate.engine.spi.SharedSessionContractImplementor; +import org.hibernate.id.IdentifierGenerator; +import org.hibernate.id.IdentityGenerator; + +import java.io.Serializable; + + +public class CustomIdGenerator extends IdentityGenerator implements IdentifierGenerator +{ + public static final String GENERATOR = "de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator"; + + @Override + public Serializable generate(SharedSessionContractImplementor session, Object object) throws HibernateException + { + final Serializable id = session.getEntityPersister(null, object).getClassMetadata().getIdentifier(object, session); + + if(id == null) + { + return super.generate(session, object); + } + else + { + return id; + } + } +} diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccount.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccount.java index f11acc22b..71e863aca 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccount.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccount.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.account; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.ACCOUNT) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationAccount implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Column(unique = true) diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategory.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategory.java index c5dcc73d5..3f89c0b79 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategory.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategory.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.category; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.CATEGORY) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationCategory implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private String name; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChart.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChart.java index b1bd4f51c..fa6031c1a 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChart.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChart.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.chart; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.CHART) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationChart implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private String name; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHint.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHint.java index b21a01f4d..b51fbbde3 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHint.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHint.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.hint; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.HINT) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationHint implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Column(name = "localization_key") diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIcon.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIcon.java index a583b68c3..b6b7b2c98 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIcon.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIcon.java @@ -1,13 +1,12 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.icon; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.ICON) @@ -20,6 +19,8 @@ import javax.persistence.Table; public class DestinationIcon implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Column(name = "image_id") diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImage.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImage.java index 9794f25b0..f750dc76d 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImage.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImage.java @@ -1,8 +1,10 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.image; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; @@ -17,6 +19,8 @@ import javax.persistence.*; public class DestinationImage implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Lob diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOption.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOption.java index 1f1d1d40d..eb89e70d0 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOption.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOption.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; import java.time.LocalDate; @Entity @@ -22,6 +21,8 @@ import java.time.LocalDate; public class DestinationRepeatingOption implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Column(name = "start_date") diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEnd.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEnd.java index c61580dab..ddcc64123 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEnd.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEnd.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.REPEATING_END) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationRepeatingEnd implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimes.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimes.java index ec2e912f6..784fcd9c8 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimes.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimes.java @@ -1,11 +1,14 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @@ -20,6 +23,8 @@ import javax.persistence.Table; public class DestinationRepeatingEndAfterXTimes implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDate.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDate.java index c3945ae83..0e81e1898 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDate.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDate.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; import java.time.LocalDate; @Entity @@ -22,6 +21,8 @@ import java.time.LocalDate; public class DestinationRepeatingEndDate implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNever.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNever.java index e76c89238..7ed0ef451 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNever.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNever.java @@ -1,11 +1,14 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @@ -20,6 +23,8 @@ import javax.persistence.Table; public class DestinationRepeatingEndNever implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; } diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifier.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifier.java index 3e6dcca0e..b0034154f 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifier.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifier.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.REPEATING_MODIFIER) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationRepeatingModifier implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Column(name = "localization_key") diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDays.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDays.java index 1a9486ada..9ce7fe377 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDays.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDays.java @@ -1,11 +1,14 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @@ -20,5 +23,7 @@ import javax.persistence.Table; public class DestinationRepeatingModifierDays implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; } diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonths.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonths.java index 5c974fa8f..11396244a 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonths.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonths.java @@ -1,11 +1,14 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @@ -20,5 +23,7 @@ import javax.persistence.Table; public class DestinationRepeatingModifierMonths implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; } diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYears.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYears.java index 2e5188021..00ef17011 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYears.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYears.java @@ -1,11 +1,14 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @@ -20,5 +23,7 @@ import javax.persistence.Table; public class DestinationRepeatingModifierYears implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; } diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumn.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumn.java index 4149e7f19..c85efde7d 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumn.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumn.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.report; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.REPORT_COLUMN) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationReportColumn implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private boolean activated; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettings.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettings.java index 609172157..69e8626c8 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettings.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettings.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.report; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; import java.time.LocalDate; @Entity @@ -22,6 +21,8 @@ import java.time.LocalDate; public class DestinationReportSettings implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private LocalDate date; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettings.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettings.java index ca256f96c..2166bdb34 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettings.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettings.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.settings; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; import java.time.LocalDate; @Entity @@ -22,6 +21,8 @@ import java.time.LocalDate; public class DestinationSettings implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private String currency; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTag.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTag.java index fb757f694..4745f3589 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTag.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTag.java @@ -1,11 +1,14 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.tag; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @@ -20,6 +23,8 @@ import javax.persistence.Table; public class DestinationTag implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private String name; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTag.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTag.java index e328392e6..ef80a7bc0 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTag.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTag.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.tag; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.TEMPLATE_TAGS) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationTemplateTag implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Column(name = "template_id") diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTag.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTag.java index a76280ea4..676effa24 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTag.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTag.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.tag; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.TRANSACTION_TAGS) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationTransactionTag implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Column(name = "transaction_id") diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplate.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplate.java index de35e361f..56c175f2b 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplate.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplate.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.template; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.TEMPLATE) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationTemplate implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; @Column(name = "template_name") diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroup.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroup.java index 0eb5e7aed..7f66d18a8 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroup.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroup.java @@ -1,11 +1,14 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @@ -20,6 +23,8 @@ import javax.persistence.Table; public class DestinationTemplateGroup implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private String name; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransaction.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransaction.java index 0b62f6931..ecf13ba5b 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransaction.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransaction.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.transaction; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; import java.time.LocalDate; @Entity @@ -22,6 +21,8 @@ import java.time.LocalDate; public class DestinationTransaction implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private Integer amount; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUser.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUser.java index 75ef2fe45..720c88b41 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUser.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUser.java @@ -1,14 +1,13 @@ package de.deadlocker8.budgetmaster.databasemigrator.destination.user; +import de.deadlocker8.budgetmaster.databasemigrator.CustomIdGenerator; import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID; import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames; import lombok.*; +import org.hibernate.annotations.GenericGenerator; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; @Entity @Table(name = TableNames.USER_DESTINATION) @@ -21,6 +20,8 @@ import javax.persistence.Table; public class DestinationUser implements ProvidesID { @Id + @GeneratedValue(generator = "custom_generator") + @GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR) private Integer ID; private String name; diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/listener/GenericStepListener.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/listener/GenericStepListener.java index 31608e29f..4ca30d9f1 100644 --- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/listener/GenericStepListener.java +++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/listener/GenericStepListener.java @@ -20,12 +20,14 @@ public class GenericStepListener<T extends ProvidesID> implements StepExecutionL private final String tableName; private final DestinationRepository<T> repository; private final JdbcTemplate jdbcTemplate; + private final boolean adjustSequence; - public GenericStepListener(String tableName, DestinationRepository<T> repository, JdbcTemplate jdbcTemplate) + public GenericStepListener(String tableName, DestinationRepository<T> repository, JdbcTemplate jdbcTemplate, boolean adjustSequence) { this.tableName = tableName; this.repository = repository; this.jdbcTemplate = jdbcTemplate; + this.adjustSequence = adjustSequence; } @Override @@ -34,8 +36,11 @@ public class GenericStepListener<T extends ProvidesID> implements StepExecutionL LOGGER.info("\n"); LOGGER.info(">>> Migrate {}s...", tableName); - LOGGER.debug("Resetting sequence to 0"); - jdbcTemplate.update(MessageFormat.format("ALTER SEQUENCE {0}_id_seq RESTART WITH 1", tableName)); + if(adjustSequence) + { + LOGGER.debug("Resetting sequence to 0"); + jdbcTemplate.update(MessageFormat.format("ALTER SEQUENCE {0}_id_seq RESTART WITH 1", tableName)); + } } @Override @@ -44,10 +49,13 @@ public class GenericStepListener<T extends ProvidesID> implements StepExecutionL final int count = Utils.getCommitCount(stepExecution); LOGGER.info(">>> Successfully migrated {} {}s\n", count, tableName); - final int highestUsedID = getHighestUsedID(); - final int newSequence = highestUsedID + 1; - LOGGER.debug("Adjusting sequence to {} ({})", newSequence, highestUsedID); - jdbcTemplate.update(MessageFormat.format("ALTER SEQUENCE {0}_id_seq RESTART WITH {1}", tableName, newSequence)); + if(adjustSequence) + { + final int highestUsedID = getHighestUsedID(); + final int newSequence = highestUsedID + 1; + LOGGER.debug("Adjusting sequence to {} ({})", newSequence, highestUsedID); + jdbcTemplate.update(MessageFormat.format("ALTER SEQUENCE {0}_id_seq RESTART WITH {1}", tableName, newSequence)); + } return null; } -- GitLab