From 68354008ea7b172579c26926c69b45aa9a49d430 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 14 May 2022 22:03:48 +0200
Subject: [PATCH] #663 - fixed sequences reset

---
 .../databasemigrator/BatchConfiguration.java  | 78 +++++++++----------
 .../DestinationIntegerRepository.java         | 11 +++
 .../destination/DestinationRepository.java    |  3 +-
 .../DestinationAccountIntegerRepository.java  |  7 ++
 .../account/DestinationAccountRepository.java |  7 --
 .../DestinationCategoryIntegerRepository.java |  7 ++
 .../DestinationCategoryRepository.java        |  7 --
 .../DestinationChartIntegerRepository.java    |  8 ++
 .../chart/DestinationChartRepository.java     |  8 --
 .../DestinationHintIntegerRepository.java     |  7 ++
 .../hint/DestinationHintRepository.java       |  7 --
 .../DestinationIconIntegerRepository.java     |  7 ++
 .../icon/DestinationIconRepository.java       |  7 --
 .../DestinationImageIntegerRepository.java    |  7 ++
 .../image/DestinationImageRepository.java     |  7 --
 ...ationRepeatingOptionIntegerRepository.java |  7 ++
 .../DestinationRepeatingOptionRepository.java |  7 --
 ...eatingEndAfterXTimesIntegerRepository.java |  7 ++
 ...tionRepeatingEndAfterXTimesRepository.java |  7 --
 ...tionRepeatingEndDateIntegerRepository.java |  7 ++
 ...DestinationRepeatingEndDateRepository.java |  7 --
 ...tinationRepeatingEndIntegerRepository.java |  7 ++
 ...ionRepeatingEndNeverIntegerRepository.java |  7 ++
 ...estinationRepeatingEndNeverRepository.java |  7 --
 .../DestinationRepeatingEndRepository.java    |  7 --
 ...epeatingModifierDaysIntegerRepository.java |  7 ++
 ...nationRepeatingModifierDaysRepository.java |  7 --
 ...ionRepeatingModifierIntegerRepository.java |  7 ++
 ...eatingModifierMonthsIntegerRepository.java |  7 ++
 ...tionRepeatingModifierMonthsRepository.java |  7 --
 ...estinationRepeatingModifierRepository.java |  7 --
 ...peatingModifierYearsIntegerRepository.java |  7 ++
 ...ationRepeatingModifierYearsRepository.java |  7 --
 ...tinationReportColumnIntegerRepository.java |  7 ++
 .../DestinationReportColumnRepository.java    |  7 --
 ...nationReportSettingsIntegerRepository.java |  7 ++
 .../DestinationReportSettingsRepository.java  |  7 --
 .../DestinationSettingsIntegerRepository.java |  7 ++
 .../DestinationSettingsRepository.java        |  7 --
 .../tag/DestinationTagIntegerRepository.java  |  7 ++
 .../tag/DestinationTemplateTag.java           | 76 ++++++++++++++++--
 ...tinationTemplateTagIntegerRepository.java} |  3 +-
 .../tag/DestinationTemplateTagRepository.java |  7 --
 .../tag/DestinationTransactionTag.java        | 75 ++++++++++++++++--
 ...nationTransactionTagIntegerRepository.java |  8 ++
 .../DestinationTransactionTagRepository.java  |  7 --
 .../DestinationTemplateIntegerRepository.java |  7 ++
 .../DestinationTemplateRepository.java        |  7 --
 ...inationTemplateGroupIntegerRepository.java |  7 ++
 .../DestinationTemplateGroupRepository.java   |  7 --
 ...stinationTransactionIntegerRepository.java |  7 ++
 .../DestinationTransactionRepository.java     |  7 --
 .../DestinationUserIntegerRepository.java     |  7 ++
 .../user/DestinationUserRepository.java       |  7 --
 .../listener/GenericStepListener.java         | 22 ++++--
 .../databasemigrator/steps/GenericWriter.java |  6 +-
 .../databasemigrator/MigrateAccountsTest.java |  4 +-
 .../MigrateCategoriesTest.java                |  4 +-
 .../databasemigrator/MigrateChartsTest.java   |  4 +-
 .../databasemigrator/MigrateHintsTest.java    |  4 +-
 .../databasemigrator/MigrateIconsTest.java    |  4 +-
 .../databasemigrator/MigrateImagesTest.java   |  4 +-
 .../MigrateRepeatingEndAfterXTimesTest.java   |  4 +-
 .../MigrateRepeatingEndDateTest.java          |  4 +-
 .../MigrateRepeatingEndNeverTest.java         |  4 +-
 .../MigrateRepeatingEndsTest.java             |  4 +-
 .../MigrateRepeatingModifierDaysTest.java     |  4 +-
 .../MigrateRepeatingModifierMonthsTest.java   |  4 +-
 .../MigrateRepeatingModifierYearsTest.java    |  6 +-
 .../MigrateRepeatingModifiersTest.java        |  4 +-
 .../MigrateRepeatingOptionsTest.java          |  4 +-
 .../MigrateReportColumnsTest.java             |  4 +-
 .../MigrateReportSettingsTest.java            |  4 +-
 .../databasemigrator/MigrateSettingsTest.java |  4 +-
 .../databasemigrator/MigrateTagsTest.java     | 16 ++--
 .../MigrateTemplateGroupsTest.java            |  4 +-
 .../MigrateTemplatesTest.java                 |  4 +-
 .../MigrateTransactionsTest.java              |  6 +-
 .../databasemigrator/MigrateUsersTest.java    |  6 +-
 .../databasemigrator/UpdateSequencesTest.java |  4 +-
 80 files changed, 433 insertions(+), 294 deletions(-)
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/DestinationIntegerRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccountIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccountRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategoryIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategoryRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChartIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChartRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHintIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHintRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIconIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIconRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImageIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImageRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOptionIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOptionRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimesIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimesRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDateIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDateRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndIntegerRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNeverIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNeverRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDaysIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDaysRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierIntegerRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonthsIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonthsRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYearsIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYearsRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumnIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumnRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettingsIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettingsRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettingsIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettingsRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTagIntegerRepository.java
 rename BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/{DestinationTagRepository.java => DestinationTemplateTagIntegerRepository.java} (50%)
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTagRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTagIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTagRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplateIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplateRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroupIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroupRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransactionIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransactionRepository.java
 create mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUserIntegerRepository.java
 delete mode 100644 BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUserRepository.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 d7538f363..bb0940714 100644
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java
@@ -3,36 +3,36 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.TableNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.account.DestinationAccount;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.account.DestinationAccountRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.account.DestinationAccountIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategory;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategoryRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategoryIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.chart.DestinationChart;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.chart.DestinationChartRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.chart.DestinationChartIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHint;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHintRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHintIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.icon.DestinationIcon;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.icon.DestinationIconRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.icon.DestinationIconIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.image.DestinationImage;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.image.DestinationImageRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.image.DestinationImageIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.DestinationRepeatingOption;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.DestinationRepeatingOptionRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.DestinationRepeatingOptionIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.*;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.*;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportColumn;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportColumnRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportColumnIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportSettings;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportSettingsRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportSettingsIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.settings.DestinationSettings;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.settings.DestinationSettingsRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.settings.DestinationSettingsIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.tag.*;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.template.DestinationTemplate;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.template.DestinationTemplateRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.template.DestinationTemplateIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup.DestinationTemplateGroup;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup.DestinationTemplateGroupRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup.DestinationTemplateGroupIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.transaction.DestinationTransaction;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.transaction.DestinationTransactionRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.transaction.DestinationTransactionIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.user.DestinationUser;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.user.DestinationUserRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.user.DestinationUserIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.listener.GenericChunkListener;
 import de.deadlocker8.budgetmaster.databasemigrator.listener.GenericJobListener;
 import de.deadlocker8.budgetmaster.databasemigrator.listener.GenericStepListener;
@@ -86,39 +86,39 @@ public class BatchConfiguration
 
 	final DataSource primaryDataSource;
 
-	final DestinationImageRepository destinationImageRepository;
-	final DestinationIconRepository destinationIconRepository;
-	final DestinationCategoryRepository destinationCategoryRepository;
-	final DestinationAccountRepository destinationAccountRepository;
-	final DestinationChartRepository destinationChartRepository;
-	final DestinationHintRepository destinationHintRepository;
+	final DestinationImageIntegerRepository destinationImageRepository;
+	final DestinationIconIntegerRepository destinationIconRepository;
+	final DestinationCategoryIntegerRepository destinationCategoryRepository;
+	final DestinationAccountIntegerRepository destinationAccountRepository;
+	final DestinationChartIntegerRepository destinationChartRepository;
+	final DestinationHintIntegerRepository destinationHintRepository;
 
-	final DestinationRepeatingEndRepository destinationRepeatingEndRepository;
-	final DestinationRepeatingEndAfterXTimesRepository destinationRepeatingEndAfterXTimesRepository;
-	final DestinationRepeatingEndDateRepository destinationRepeatingEndDateRepository;
-	final DestinationRepeatingEndNeverRepository destinationRepeatingEndNeverRepository;
+	final DestinationRepeatingEndIntegerRepository destinationRepeatingEndRepository;
+	final DestinationRepeatingEndAfterXTimesIntegerRepository destinationRepeatingEndAfterXTimesRepository;
+	final DestinationRepeatingEndDateIntegerRepository destinationRepeatingEndDateRepository;
+	final DestinationRepeatingEndNeverIntegerRepository destinationRepeatingEndNeverRepository;
 
-	final DestinationRepeatingModifierRepository destinationRepeatingModifierRepository;
-	final DestinationRepeatingModifierDaysRepository destinationRepeatingModifierDaysRepository;
-	final DestinationRepeatingModifierMonthsRepository destinationRepeatingModifierMonthsRepository;
-	final DestinationRepeatingModifierYearsRepository destinationRepeatingModifierYearsRepository;
+	final DestinationRepeatingModifierIntegerRepository destinationRepeatingModifierRepository;
+	final DestinationRepeatingModifierDaysIntegerRepository destinationRepeatingModifierDaysRepository;
+	final DestinationRepeatingModifierMonthsIntegerRepository destinationRepeatingModifierMonthsRepository;
+	final DestinationRepeatingModifierYearsIntegerRepository destinationRepeatingModifierYearsRepository;
 
-	final DestinationRepeatingOptionRepository destinationRepeatingOptionRepository;
+	final DestinationRepeatingOptionIntegerRepository destinationRepeatingOptionRepository;
 
-	final DestinationReportColumnRepository destinationReportColumnRepository;
-	final DestinationReportSettingsRepository destinationReportSettingsRepository;
+	final DestinationReportColumnIntegerRepository destinationReportColumnRepository;
+	final DestinationReportSettingsIntegerRepository destinationReportSettingsRepository;
 
-	final DestinationSettingsRepository destinationSettingsRepository;
+	final DestinationSettingsIntegerRepository destinationSettingsRepository;
 
-	final DestinationTagRepository destinationTagRepository;
-	final DestinationTemplateTagRepository destinationTemplateTagRepository;
-	final DestinationTransactionTagRepository destinationTransactionTagRepository;
+	final DestinationTagIntegerRepository destinationTagRepository;
+	final DestinationTemplateTagIntegerRepository destinationTemplateTagRepository;
+	final DestinationTransactionTagIntegerRepository destinationTransactionTagRepository;
 
-	final DestinationUserRepository destinationUserRepository;
-	final DestinationTransactionRepository destinationTransactionRepository;
+	final DestinationUserIntegerRepository destinationUserRepository;
+	final DestinationTransactionIntegerRepository destinationTransactionRepository;
 
-	final DestinationTemplateRepository destinationTemplateRepository;
-	final DestinationTemplateGroupRepository destinationTemplateGroupRepository;
+	final DestinationTemplateIntegerRepository destinationTemplateRepository;
+	final DestinationTemplateGroupIntegerRepository destinationTemplateGroupRepository;
 
 	final ApplicationContext context;
 
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/DestinationIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/DestinationIntegerRepository.java
new file mode 100644
index 000000000..f6e9f44b0
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/DestinationIntegerRepository.java
@@ -0,0 +1,11 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination;
+
+import org.springframework.data.repository.NoRepositoryBean;
+
+import java.util.List;
+
+@NoRepositoryBean
+public interface DestinationIntegerRepository<T, ID> extends DestinationRepository<T, ID>
+{
+	List<T> findAllByOrderByIDDesc();
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/DestinationRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/DestinationRepository.java
index d596a4865..36eff5ea5 100644
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/DestinationRepository.java
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/DestinationRepository.java
@@ -6,7 +6,6 @@ import org.springframework.data.repository.NoRepositoryBean;
 import java.util.List;
 
 @NoRepositoryBean
-public interface DestinationRepository<T> extends JpaRepository<T, Integer>
+public interface DestinationRepository<T, ID> extends JpaRepository<T, ID>
 {
-	List<T> findAllByOrderByIDDesc();
 }
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccountIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccountIntegerRepository.java
new file mode 100644
index 000000000..2e106fc94
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccountIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.account;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationAccountIntegerRepository extends DestinationIntegerRepository<DestinationAccount, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccountRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccountRepository.java
deleted file mode 100644
index 46c498e0b..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/account/DestinationAccountRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.account;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationAccountRepository extends DestinationRepository<DestinationAccount>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategoryIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategoryIntegerRepository.java
new file mode 100644
index 000000000..0c41fd22c
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategoryIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.category;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationCategoryIntegerRepository extends DestinationIntegerRepository<DestinationCategory, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategoryRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategoryRepository.java
deleted file mode 100644
index 01963b61c..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/category/DestinationCategoryRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.category;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationCategoryRepository extends DestinationRepository<DestinationCategory>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChartIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChartIntegerRepository.java
new file mode 100644
index 000000000..b0031c9c4
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChartIntegerRepository.java
@@ -0,0 +1,8 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.chart;
+
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationChartIntegerRepository extends DestinationIntegerRepository<DestinationChart, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChartRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChartRepository.java
deleted file mode 100644
index 8e6fbc068..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/chart/DestinationChartRepository.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.chart;
-
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationChartRepository extends DestinationRepository<DestinationChart>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHintIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHintIntegerRepository.java
new file mode 100644
index 000000000..7f25f2cec
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHintIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.hint;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationHintIntegerRepository extends DestinationIntegerRepository<DestinationHint, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHintRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHintRepository.java
deleted file mode 100644
index ca1e35066..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/hint/DestinationHintRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.hint;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationHintRepository extends DestinationRepository<DestinationHint>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIconIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIconIntegerRepository.java
new file mode 100644
index 000000000..ca8481c65
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIconIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.icon;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationIconIntegerRepository extends DestinationIntegerRepository<DestinationIcon, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIconRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIconRepository.java
deleted file mode 100644
index e74ad50d6..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/icon/DestinationIconRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.icon;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationIconRepository extends DestinationRepository<DestinationIcon>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImageIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImageIntegerRepository.java
new file mode 100644
index 000000000..6583a677b
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImageIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.image;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationImageIntegerRepository extends DestinationIntegerRepository<DestinationImage, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImageRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImageRepository.java
deleted file mode 100644
index f70ffd68d..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/image/DestinationImageRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.image;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationImageRepository extends DestinationRepository<DestinationImage>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOptionIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOptionIntegerRepository.java
new file mode 100644
index 000000000..623f5737b
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOptionIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingOptionIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingOption, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOptionRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOptionRepository.java
deleted file mode 100644
index b50e61114..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/DestinationRepeatingOptionRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingOptionRepository extends DestinationRepository<DestinationRepeatingOption>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimesIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimesIntegerRepository.java
new file mode 100644
index 000000000..dab8aea1f
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimesIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingEndAfterXTimesIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingEndAfterXTimes, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimesRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimesRepository.java
deleted file mode 100644
index 68a6fb459..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndAfterXTimesRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingEndAfterXTimesRepository extends DestinationRepository<DestinationRepeatingEndAfterXTimes>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDateIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDateIntegerRepository.java
new file mode 100644
index 000000000..d3ea8c693
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDateIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingEndDateIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingEndDate, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDateRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDateRepository.java
deleted file mode 100644
index c056605c1..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndDateRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingEndDateRepository extends DestinationRepository<DestinationRepeatingEndDate>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndIntegerRepository.java
new file mode 100644
index 000000000..6e3bce339
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingEndIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingEnd, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNeverIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNeverIntegerRepository.java
new file mode 100644
index 000000000..e54bc8c7e
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNeverIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingEndNeverIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingEndNever, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNeverRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNeverRepository.java
deleted file mode 100644
index c39b24f5b..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndNeverRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingEndNeverRepository extends DestinationRepository<DestinationRepeatingEndNever>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndRepository.java
deleted file mode 100644
index 482d78022..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/end/DestinationRepeatingEndRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingEndRepository extends DestinationRepository<DestinationRepeatingEnd>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDaysIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDaysIntegerRepository.java
new file mode 100644
index 000000000..8ce35b046
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDaysIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingModifierDaysIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingModifierDays, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDaysRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDaysRepository.java
deleted file mode 100644
index 3f0a0a621..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierDaysRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingModifierDaysRepository extends DestinationRepository<DestinationRepeatingModifierDays>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierIntegerRepository.java
new file mode 100644
index 000000000..05c5eebf9
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingModifierIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingModifier, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonthsIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonthsIntegerRepository.java
new file mode 100644
index 000000000..b498c5a14
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonthsIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingModifierMonthsIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingModifierMonths, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonthsRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonthsRepository.java
deleted file mode 100644
index c9c957f16..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierMonthsRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingModifierMonthsRepository extends DestinationRepository<DestinationRepeatingModifierMonths>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierRepository.java
deleted file mode 100644
index f6318d1e2..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingModifierRepository extends DestinationRepository<DestinationRepeatingModifier>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYearsIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYearsIntegerRepository.java
new file mode 100644
index 000000000..7531f8fb1
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYearsIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationRepeatingModifierYearsIntegerRepository extends DestinationIntegerRepository<DestinationRepeatingModifierYears, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYearsRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYearsRepository.java
deleted file mode 100644
index d6019bba6..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/repeating/modifier/DestinationRepeatingModifierYearsRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationRepeatingModifierYearsRepository extends DestinationRepository<DestinationRepeatingModifierYears>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumnIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumnIntegerRepository.java
new file mode 100644
index 000000000..45ec29d68
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumnIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.report;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationReportColumnIntegerRepository extends DestinationIntegerRepository<DestinationReportColumn, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumnRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumnRepository.java
deleted file mode 100644
index daf4b76c5..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportColumnRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.report;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationReportColumnRepository extends DestinationRepository<DestinationReportColumn>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettingsIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettingsIntegerRepository.java
new file mode 100644
index 000000000..f44226f29
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettingsIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.report;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationReportSettingsIntegerRepository extends DestinationIntegerRepository<DestinationReportSettings, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettingsRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettingsRepository.java
deleted file mode 100644
index f7bc7a176..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/report/DestinationReportSettingsRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.report;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationReportSettingsRepository extends DestinationRepository<DestinationReportSettings>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettingsIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettingsIntegerRepository.java
new file mode 100644
index 000000000..a8f0e0853
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettingsIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.settings;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationSettingsIntegerRepository extends DestinationIntegerRepository<DestinationSettings, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettingsRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettingsRepository.java
deleted file mode 100644
index 1d2d32ec4..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettingsRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.settings;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationSettingsRepository extends DestinationRepository<DestinationSettings>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTagIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTagIntegerRepository.java
new file mode 100644
index 000000000..6c62aeff5
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTagIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.tag;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationTagIntegerRepository extends DestinationIntegerRepository<DestinationTag, Integer>
+{
+}
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 ef80a7bc0..7d60d8e01 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,13 +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.*;
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Objects;
 
 @Entity
 @Table(name = TableNames.TEMPLATE_TAGS)
@@ -17,16 +18,79 @@ import javax.persistence.*;
 @Setter
 @EqualsAndHashCode
 @ToString
+@IdClass(DestinationTemplateTag.DestinationTemplateTagId.class)
 public class DestinationTemplateTag implements ProvidesID
 {
-	@Id
-	@GeneratedValue(generator = "custom_generator")
-	@GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR)
-	private Integer ID;
+	public static final class DestinationTemplateTagId implements Serializable
+	{
+		@Serial
+		private static final long serialVersionUID = 0L;
+		private Integer templateID;
+		private Integer tagsID;
+
+		public DestinationTemplateTagId(Integer templateID, Integer tagsID)
+		{
+			this.templateID = templateID;
+			this.tagsID = tagsID;
+		}
+
+		public DestinationTemplateTagId()
+		{
+		}
+
+		public Integer templateID()
+		{
+			return templateID;
+		}
+
+		public Integer tagsID()
+		{
+			return tagsID;
+		}
+
+		@Override
+		public boolean equals(Object obj)
+		{
+			if(obj == this) return true;
+			if(obj == null || obj.getClass() != this.getClass()) return false;
+			var that = (DestinationTemplateTagId) obj;
+			return Objects.equals(this.templateID, that.templateID) &&
+					Objects.equals(this.tagsID, that.tagsID);
+		}
+
+		@Override
+		public int hashCode()
+		{
+			return Objects.hash(templateID, tagsID);
+		}
 
+		@Override
+		public String toString()
+		{
+			return "DestinationTemplateTagId[" +
+					"templateID=" + templateID + ", " +
+					"tagsID=" + tagsID + ']';
+		}
+
+	}
+
+	@Id
 	@Column(name = "template_id")
 	private int templateID;
 
+	@Id
 	@Column(name = "tags_id")
 	private int tagsID;
+
+	@Override
+	public Integer getID()
+	{
+		return null;
+	}
+
+	@Override
+	public void setID(Integer ID)
+	{
+	}
 }
+
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTagRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTagIntegerRepository.java
similarity index 50%
rename from BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTagRepository.java
rename to BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTagIntegerRepository.java
index 4fafa724e..327d8bfc4 100644
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTagRepository.java
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTagIntegerRepository.java
@@ -1,7 +1,8 @@
 package de.deadlocker8.budgetmaster.databasemigrator.destination.tag;
 
+
 import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
 
-public interface DestinationTagRepository extends DestinationRepository<DestinationTag>
+public interface DestinationTemplateTagIntegerRepository extends DestinationRepository<DestinationTemplateTag, DestinationTemplateTag.DestinationTemplateTagId>
 {
 }
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTagRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTagRepository.java
deleted file mode 100644
index 007b81ccd..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTemplateTagRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.tag;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationTemplateTagRepository extends DestinationRepository<DestinationTemplateTag>
-{
-}
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 676effa24..e02d21b0c 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,13 +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.*;
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Objects;
 
 @Entity
 @Table(name = TableNames.TRANSACTION_TAGS)
@@ -17,16 +18,78 @@ import javax.persistence.*;
 @Setter
 @EqualsAndHashCode
 @ToString
+@IdClass(DestinationTransactionTag.DestinationTransactionTagId.class)
 public class DestinationTransactionTag implements ProvidesID
 {
-	@Id
-	@GeneratedValue(generator = "custom_generator")
-	@GenericGenerator(name = "custom_generator", strategy = CustomIdGenerator.GENERATOR)
-	private Integer ID;
+	public static final class DestinationTransactionTagId implements Serializable
+	{
+		@Serial
+		private static final long serialVersionUID = 0L;
+		private Integer transactionID;
+		private Integer tagsID;
+
+		public DestinationTransactionTagId(Integer transactionID, Integer tagsID)
+		{
+			this.transactionID = transactionID;
+			this.tagsID = tagsID;
+		}
+
+		public DestinationTransactionTagId()
+		{
+		}
+
+		public Integer transactionID()
+		{
+			return transactionID;
+		}
+
+		public Integer tagsID()
+		{
+			return tagsID;
+		}
+
+		@Override
+		public boolean equals(Object obj)
+		{
+			if(obj == this) return true;
+			if(obj == null || obj.getClass() != this.getClass()) return false;
+			var that = (DestinationTransactionTagId) obj;
+			return Objects.equals(this.transactionID, that.transactionID) &&
+					Objects.equals(this.tagsID, that.tagsID);
+		}
+
+		@Override
+		public int hashCode()
+		{
+			return Objects.hash(transactionID, tagsID);
+		}
 
+		@Override
+		public String toString()
+		{
+			return "DestinationTransactionTagId[" +
+					"transactionID=" + transactionID + ", " +
+					"tagsID=" + tagsID + ']';
+		}
+
+	}
+
+	@Id
 	@Column(name = "transaction_id")
 	private int transactionID;
 
+	@Id
 	@Column(name = "tags_id")
 	private int tagsID;
+
+	@Override
+	public Integer getID()
+	{
+		return null;
+	}
+
+	@Override
+	public void setID(Integer ID)
+	{
+	}
 }
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTagIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTagIntegerRepository.java
new file mode 100644
index 000000000..86454f068
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTagIntegerRepository.java
@@ -0,0 +1,8 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.tag;
+
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
+
+public interface DestinationTransactionTagIntegerRepository extends DestinationRepository<DestinationTransactionTag, DestinationTransactionTag.DestinationTransactionTagId>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTagRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTagRepository.java
deleted file mode 100644
index 28ec52f20..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/tag/DestinationTransactionTagRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.tag;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationTransactionTagRepository extends DestinationRepository<DestinationTransactionTag>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplateIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplateIntegerRepository.java
new file mode 100644
index 000000000..2751c32b7
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplateIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.template;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationTemplateIntegerRepository extends DestinationIntegerRepository<DestinationTemplate, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplateRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplateRepository.java
deleted file mode 100644
index 842f83897..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/template/DestinationTemplateRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.template;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationTemplateRepository extends DestinationRepository<DestinationTemplate>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroupIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroupIntegerRepository.java
new file mode 100644
index 000000000..2bdab8fd4
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroupIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationTemplateGroupIntegerRepository extends DestinationIntegerRepository<DestinationTemplateGroup, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroupRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroupRepository.java
deleted file mode 100644
index 8bc5b0f0e..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/templateGroup/DestinationTemplateGroupRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationTemplateGroupRepository extends DestinationRepository<DestinationTemplateGroup>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransactionIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransactionIntegerRepository.java
new file mode 100644
index 000000000..7d3f67f0c
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransactionIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.transaction;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationTransactionIntegerRepository extends DestinationIntegerRepository<DestinationTransaction, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransactionRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransactionRepository.java
deleted file mode 100644
index 32c7fe813..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/transaction/DestinationTransactionRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.transaction;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationTransactionRepository extends DestinationRepository<DestinationTransaction>
-{
-}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUserIntegerRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUserIntegerRepository.java
new file mode 100644
index 000000000..6d7c86cb2
--- /dev/null
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUserIntegerRepository.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.databasemigrator.destination.user;
+
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
+
+public interface DestinationUserIntegerRepository extends DestinationIntegerRepository<DestinationUser, Integer>
+{
+}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUserRepository.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUserRepository.java
deleted file mode 100644
index 1fe6dfeab..000000000
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/user/DestinationUserRepository.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.databasemigrator.destination.user;
-
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
-
-public interface DestinationUserRepository extends DestinationRepository<DestinationUser>
-{
-}
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 2ae0680c0..075a6ffad 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
@@ -1,6 +1,7 @@
 package de.deadlocker8.budgetmaster.databasemigrator.listener;
 
 import de.deadlocker8.budgetmaster.databasemigrator.Utils;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID;
 import org.slf4j.Logger;
@@ -13,16 +14,16 @@ import org.springframework.jdbc.core.JdbcTemplate;
 import java.text.MessageFormat;
 import java.util.List;
 
-public class GenericStepListener<T extends ProvidesID> implements StepExecutionListener
+public class GenericStepListener<T extends ProvidesID, ID> implements StepExecutionListener
 {
 	private static final Logger LOGGER = LoggerFactory.getLogger(GenericStepListener.class);
 
 	private final String tableName;
-	private final DestinationRepository<T> repository;
+	private final DestinationRepository<T, ID> repository;
 	private final JdbcTemplate jdbcTemplate;
 	private final boolean adjustSequence;
 
-	public GenericStepListener(String tableName, DestinationRepository<T> repository, JdbcTemplate jdbcTemplate, boolean adjustSequence)
+	public GenericStepListener(String tableName, DestinationRepository<T, ID> repository, JdbcTemplate jdbcTemplate, boolean adjustSequence)
 	{
 		this.tableName = tableName;
 		this.repository = repository;
@@ -60,14 +61,19 @@ public class GenericStepListener<T extends ProvidesID> implements StepExecutionL
 		return null;
 	}
 
-	public int getHighestUsedID()
+	public Integer getHighestUsedID()
 	{
-		final List<T> itemsOrderedByID = repository.findAllByOrderByIDDesc();
-		if(itemsOrderedByID.isEmpty())
+		if(repository instanceof DestinationIntegerRepository<T,ID> integerRepository)
 		{
-			return 0;
+			final List<T> itemsOrderedByID = integerRepository.findAllByOrderByIDDesc();
+			if(itemsOrderedByID.isEmpty())
+			{
+				return 0;
+			}
+
+			return itemsOrderedByID.get(0).getID();
 		}
 
-		return itemsOrderedByID.get(0).getID();
+		return null;
 	}
 }
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/steps/GenericWriter.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/steps/GenericWriter.java
index 2616379be..a0bd628d0 100644
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/steps/GenericWriter.java
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/steps/GenericWriter.java
@@ -7,13 +7,13 @@ import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.List;
 
-public class GenericWriter<T> implements ItemWriter<T>
+public class GenericWriter<T, ID> implements ItemWriter<T>
 {
 	private static final Logger LOGGER = LoggerFactory.getLogger(GenericWriter.class);
 
-	final JpaRepository<T, Integer> repository;
+	final JpaRepository<T, ID> repository;
 
-	public GenericWriter(JpaRepository<T, Integer> repository)
+	public GenericWriter(JpaRepository<T, ID> repository)
 	{
 		this.repository = repository;
 	}
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateAccountsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateAccountsTest.java
index 27a794bd0..23dfd7ef4 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateAccountsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateAccountsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.account.DestinationAccount;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.account.DestinationAccountRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.account.DestinationAccountIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateAccountsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationAccountRepository accountRepository;
+	private DestinationAccountIntegerRepository accountRepository;
 
 	@Test
 	void test_stepMigrateAccounts()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateCategoriesTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateCategoriesTest.java
index 49fd4cc56..4c1e665cc 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateCategoriesTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateCategoriesTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategory;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategoryRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategoryIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateCategoriesTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationCategoryRepository categoryRepository;
+	private DestinationCategoryIntegerRepository categoryRepository;
 
 	@Test
 	void test_stepMigraCategories()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateChartsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateChartsTest.java
index d7a29a0cf..4facccd62 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateChartsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateChartsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.chart.DestinationChart;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.chart.DestinationChartRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.chart.DestinationChartIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateChartsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationChartRepository chartRepository;
+	private DestinationChartIntegerRepository chartRepository;
 
 	private static final String DEFAULT_CHART_SCRIPT = """
 			/* This list will be dynamically filled with all the transactions between
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateHintsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateHintsTest.java
index f831f5399..b81669be0 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateHintsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateHintsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHint;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHintRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHintIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateHintsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationHintRepository hintRepository;
+	private DestinationHintIntegerRepository hintRepository;
 
 	@Test
 	void test_stepMigrateHints()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateIconsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateIconsTest.java
index 57153a34d..6e05b213a 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateIconsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateIconsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.icon.DestinationIcon;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.icon.DestinationIconRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.icon.DestinationIconIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateIconsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationIconRepository iconRepository;
+	private DestinationIconIntegerRepository iconRepository;
 
 	@Test
 	void test_stepMigrateImages()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateImagesTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateImagesTest.java
index c77563633..0ec2d42c1 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateImagesTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateImagesTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.image.DestinationImage;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.image.DestinationImageRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.image.DestinationImageIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -48,7 +48,7 @@ class MigrateImagesTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationImageRepository imageRepository;
+	private DestinationImageIntegerRepository imageRepository;
 
 	@Test
 	void test_stepMigrateImages() throws IOException, URISyntaxException
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndAfterXTimesTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndAfterXTimesTest.java
index 746965fa6..643759068 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndAfterXTimesTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndAfterXTimesTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndAfterXTimes;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndAfterXTimesRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndAfterXTimesIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateRepeatingEndAfterXTimesTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingEndAfterXTimesRepository repeatingEndAfterXTimesRepository;
+	private DestinationRepeatingEndAfterXTimesIntegerRepository repeatingEndAfterXTimesRepository;
 
 	@Test
 	void test_stepMigrateRepeatingEndAfterXTimes()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndDateTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndDateTest.java
index a725f6664..8afa57b01 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndDateTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndDateTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndDate;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndDateRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndDateIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -46,7 +46,7 @@ class MigrateRepeatingEndDateTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingEndDateRepository repeatingEndDateRepository;
+	private DestinationRepeatingEndDateIntegerRepository repeatingEndDateRepository;
 
 	@Test
 	void test_stepMigrateRepeatingEndDates()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndNeverTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndNeverTest.java
index 8dcb749ce..0cf717c77 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndNeverTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndNeverTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndNever;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndNeverRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndNeverIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateRepeatingEndNeverTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingEndNeverRepository repeatingEndNeverRepository;
+	private DestinationRepeatingEndNeverIntegerRepository repeatingEndNeverRepository;
 
 	@Test
 	void test_stepMigrateRepeatingEndNever()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndsTest.java
index 7df55730c..cc0de3d56 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingEndsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEnd;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.end.DestinationRepeatingEndIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateRepeatingEndsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingEndRepository repeatingEndRepository;
+	private DestinationRepeatingEndIntegerRepository repeatingEndRepository;
 
 	@Test
 	void test_stepMigrateRepeatingEnds()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierDaysTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierDaysTest.java
index c03a884be..daeafd0fa 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierDaysTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierDaysTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierDays;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierDaysRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierDaysIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateRepeatingModifierDaysTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingModifierDaysRepository modifierDaysRepository;
+	private DestinationRepeatingModifierDaysIntegerRepository modifierDaysRepository;
 
 	@Test
 	void test_stepMigrateRepeatingModifierDays()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierMonthsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierMonthsTest.java
index 3dc25e117..b231b73f5 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierMonthsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierMonthsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierMonths;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierMonthsRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierMonthsIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateRepeatingModifierMonthsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingModifierMonthsRepository modifierMonthsRepository;
+	private DestinationRepeatingModifierMonthsIntegerRepository modifierMonthsRepository;
 
 	@Test
 	void test_stepMigrateRepeatingModifierMonths()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierYearsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierYearsTest.java
index ae98f9216..8989c464a 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierYearsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifierYearsTest.java
@@ -1,10 +1,8 @@
 package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierMonths;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierMonthsRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierYears;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierYearsRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierYearsIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -47,7 +45,7 @@ class MigrateRepeatingModifierYearsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingModifierYearsRepository modifierYearsRepository;
+	private DestinationRepeatingModifierYearsIntegerRepository modifierYearsRepository;
 
 	@Test
 	void test_stepMigrateRepeatingModifierYears()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifiersTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifiersTest.java
index aeb4e4431..496455039 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifiersTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingModifiersTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifier;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.modifier.DestinationRepeatingModifierIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateRepeatingModifiersTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingModifierRepository repeatingModifierRepository;
+	private DestinationRepeatingModifierIntegerRepository repeatingModifierRepository;
 
 	@Test
 	void test_stepMigrateRepeatingModifiers()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingOptionsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingOptionsTest.java
index 0c359a2e3..93a7a6edc 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingOptionsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateRepeatingOptionsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.DestinationRepeatingOption;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.DestinationRepeatingOptionRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.repeating.DestinationRepeatingOptionIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -46,7 +46,7 @@ class MigrateRepeatingOptionsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationRepeatingOptionRepository repeatingOptionRepository;
+	private DestinationRepeatingOptionIntegerRepository repeatingOptionRepository;
 
 	@Test
 	void test_stepMigrateRepeatingOptions()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateReportColumnsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateReportColumnsTest.java
index e9beb907a..695ec3958 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateReportColumnsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateReportColumnsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportColumn;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportColumnRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportColumnIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateReportColumnsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationReportColumnRepository columnRepository;
+	private DestinationReportColumnIntegerRepository columnRepository;
 
 	@Test
 	void test_stepMigrateReportColumns()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateReportSettingsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateReportSettingsTest.java
index b0fe9e21c..dc7493ece 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateReportSettingsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateReportSettingsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportSettings;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportSettingsRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.report.DestinationReportSettingsIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -46,7 +46,7 @@ class MigrateReportSettingsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationReportSettingsRepository settingsRepository;
+	private DestinationReportSettingsIntegerRepository settingsRepository;
 
 	@Test
 	void test_stepMigrateReportSettings()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateSettingsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateSettingsTest.java
index 23122a9ac..7eac72ef4 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateSettingsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateSettingsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.settings.DestinationSettings;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.settings.DestinationSettingsRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.settings.DestinationSettingsIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -46,7 +46,7 @@ class MigrateSettingsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationSettingsRepository settingsRepository;
+	private DestinationSettingsIntegerRepository settingsRepository;
 
 	@Test
 	void test_stepMigrateSettings()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTagsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTagsTest.java
index d15732ece..222ce4716 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTagsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTagsTest.java
@@ -44,13 +44,13 @@ class MigrateTagsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationTagRepository tagRepository;
+	private DestinationTagIntegerRepository tagRepository;
 
 	@Autowired
-	private DestinationTemplateTagRepository templateTagRepository;
+	private DestinationTemplateTagIntegerRepository templateTagRepository;
 
 	@Autowired
-	private DestinationTransactionTagRepository transactionTagRepository;
+	private DestinationTransactionTagIntegerRepository transactionTagRepository;
 
 	@Test
 	void test_stepMigrateTags()
@@ -87,8 +87,8 @@ class MigrateTagsTest extends MigratorTestBase
 		assertThat(stepExecution.getReadCount()).isEqualTo(2);
 		assertThat(stepExecution.getCommitCount()).isEqualTo(3);
 
-		final DestinationTemplateTag tag1 = new DestinationTemplateTag(1, 1, 1);
-		final DestinationTemplateTag tag2 = new DestinationTemplateTag(2, 1,2);
+		final DestinationTemplateTag tag1 = new DestinationTemplateTag(1, 1);
+		final DestinationTemplateTag tag2 = new DestinationTemplateTag(1,2);
 
 		final List<DestinationTemplateTag> tags = templateTagRepository.findAll();
 		assertThat(tags)
@@ -109,9 +109,9 @@ class MigrateTagsTest extends MigratorTestBase
 		assertThat(stepExecution.getReadCount()).isEqualTo(3);
 		assertThat(stepExecution.getCommitCount()).isEqualTo(4);
 
-		final DestinationTransactionTag tag1 = new DestinationTransactionTag(1, 1, 1);
-		final DestinationTransactionTag tag2 = new DestinationTransactionTag(2, 2,1);
-		final DestinationTransactionTag tag3 = new DestinationTransactionTag(3, 2,2);
+		final DestinationTransactionTag tag1 = new DestinationTransactionTag(1, 1);
+		final DestinationTransactionTag tag2 = new DestinationTransactionTag(2,1);
+		final DestinationTransactionTag tag3 = new DestinationTransactionTag(2,2);
 
 		final List<DestinationTransactionTag> tags = transactionTagRepository.findAll();
 		assertThat(tags)
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTemplateGroupsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTemplateGroupsTest.java
index 621a0692f..b9482d798 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTemplateGroupsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTemplateGroupsTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup.DestinationTemplateGroup;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup.DestinationTemplateGroupRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.templateGroup.DestinationTemplateGroupIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateTemplateGroupsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationTemplateGroupRepository templateGroupRepository;
+	private DestinationTemplateGroupIntegerRepository templateGroupRepository;
 
 	@Test
 	void test_stepMigrateTemplateGroups()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTemplatesTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTemplatesTest.java
index a9096c8ef..b4e4923cc 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTemplatesTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTemplatesTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.template.DestinationTemplate;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.template.DestinationTemplateRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.template.DestinationTemplateIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class MigrateTemplatesTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationTemplateRepository templateRepository;
+	private DestinationTemplateIntegerRepository templateRepository;
 
 	@Test
 	void test_stepMigrateTemplates()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTransactionsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTransactionsTest.java
index 5d54d0698..095327a19 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTransactionsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateTransactionsTest.java
@@ -1,10 +1,8 @@
 package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHint;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHintRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.transaction.DestinationTransaction;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.transaction.DestinationTransactionRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.transaction.DestinationTransactionIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -48,7 +46,7 @@ class MigrateTransactionsTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationTransactionRepository transactionRepository;
+	private DestinationTransactionIntegerRepository transactionRepository;
 
 	@Test
 	void test_stepMigrateTransactions()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateUsersTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateUsersTest.java
index 4fd0f56b1..06b9f5cd7 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateUsersTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateUsersTest.java
@@ -1,10 +1,8 @@
 package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHint;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.hint.DestinationHintRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.user.DestinationUser;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.user.DestinationUserRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.user.DestinationUserIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -47,7 +45,7 @@ class MigrateUsersTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationUserRepository userRepository;
+	private DestinationUserIntegerRepository userRepository;
 
 	@Test
 	void test_stepMigrateUsers()
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/UpdateSequencesTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/UpdateSequencesTest.java
index a1bdaaee6..30c69187e 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/UpdateSequencesTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/UpdateSequencesTest.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.databasemigrator;
 
 import de.deadlocker8.budgetmaster.databasemigrator.destination.StepNames;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategory;
-import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategoryRepository;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.category.DestinationCategoryIntegerRepository;
 import org.junit.jupiter.api.Test;
 import org.springframework.batch.core.ExitStatus;
 import org.springframework.batch.core.JobExecution;
@@ -45,7 +45,7 @@ class UpdateSequencesTest extends MigratorTestBase
 	}
 
 	@Autowired
-	private DestinationCategoryRepository categoryRepository;
+	private DestinationCategoryIntegerRepository categoryRepository;
 
 	@Test
 	void test_updateSequences()
-- 
GitLab