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 d7538f3632ed1a0e625250c90b475f19d5a8f461..bb094071476de3ab8a371c92053c4c8dbbad5f2c 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 0000000000000000000000000000000000000000..f6e9f44b03df402f472d53226407c1e810016866
--- /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 d596a48657198bc884239f3bff38af14145b3b7e..36eff5ea5224cd5b01e26d6318e9e7702f10dd31 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 0000000000000000000000000000000000000000..2e106fc94664593658f9f7033750acdf2d485fa9
--- /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 46c498e0b1ff03720093eee80ea3537fcafebc62..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..0c41fd22cb08fc46818c138ab48187131d822779
--- /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 01963b61cef5c7697785b3e48339a82452e2af31..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..b0031c9c4b1ce7109c4e1f0b9f10d79d09cb3ad7
--- /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 8e6fbc068aff8bc109c94f330e85f6d9bc0d0d35..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..7f25f2cecacb9ad9db184a2971c11dd3626e7c3e
--- /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 ca1e3506660237ca0148f1333ea7c2b1d0d1678a..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..ca8481c65e1a10225f1ff7b1f3b33c5338f1826c
--- /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 e74ad50d62b6836a2d5c92258b58df5ddd9174a3..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..6583a677bd95a918bd0ea7a8a160ea4d879ceb12
--- /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 f70ffd68da79e8fd2a155a3db7537180de85a693..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..623f5737b84d92aae378d2c084be90dec591c9de
--- /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 b50e61114d86b707af68891146d1d76c47b410dd..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..dab8aea1fd5acb595e223f25578df7f0e7d27b77
--- /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 68a6fb459d5226ff51fbf46c469382befe9e4d55..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..d3ea8c693ee3f977a3bb5c9af2c7f3be8b2b6226
--- /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 c056605c1330e0ebe52168bb2c0ef7be908edbec..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..6e3bce33930d21dbcec72268cf1cf728d0fdab6a
--- /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 0000000000000000000000000000000000000000..e54bc8c7e5a0268e7ec222f1a3bf93bd8c6207dc
--- /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 c39b24f5bba56e4fc92ce968747ca905056cab2a..0000000000000000000000000000000000000000
--- 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 482d78022db1ba47d8a468c243a3c002b5009371..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..8ce35b0461f49f74534ad79efb120b24966d52e5
--- /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 3f0a0a6218d59cc89f94fd855540a68a056d0218..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..05c5eebf9ec150802e0eb567f173463ed7a51ed5
--- /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 0000000000000000000000000000000000000000..b498c5a14eaedabf6a04c8fe8c23f2c5fa8e9083
--- /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 c9c957f166614b635b0bc0a7dcb92802694635ec..0000000000000000000000000000000000000000
--- 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 f6318d1e29d89a8511c2661fc1f0d154d7be8c86..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..7531f8fb1626b33157b843643706c5a5549e886c
--- /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 d6019bba68512d2747ff96699896e633f5d544ad..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..45ec29d684a399d7231f93db68be707639a8109f
--- /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 daf4b76c5c944df9c48befaa38964197c536cebe..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..f44226f299a2254a5a5f5bf1ddb3a88ddb74b909
--- /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 f7bc7a176d4af579f28b27949f14bcbfa294e20c..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..a8f0e08537f722538937c60bd6d0ec836d6ef23e
--- /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 1d2d32ec443d3bc5d522add5676919da8405487a..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..6c62aeff5751da85c694ff07d8d58755b926a7d6
--- /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 ef80a7bc022cc2f070fd472ed394e91f634b99ea..7d60d8e01693dcb705fe97888925fc44c31a123f 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 4fafa724e0e85684850771908a120e9d6cbddf70..327d8bfc47f8edb0f759323e3dcb2c23794500f6 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 007b81ccd543b8188b91ed9aa655b305994bff6a..0000000000000000000000000000000000000000
--- 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 676effa245809d53ff0a00323537fe62bcab940d..e02d21b0c060e721ca75afcc3b7c0cb8ee9fe4c0 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 0000000000000000000000000000000000000000..86454f068776a95d7842e1713621718950454bce
--- /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 28ec52f204a94bb3be7ad0068750f532e2059f30..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..2751c32b7d65f7f172fb1ce7d0a14aaf3826d5c7
--- /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 842f83897d6ef494d23791d037ecc9249f65725d..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..2bdab8fd4752dbc12c722114d9efdcb224e0761b
--- /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 8bc5b0f0ed4d7f2417fe62eb0dddc8a74fc6b96e..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..7d3f67f0c249b574908a30187d35f8e827a586cf
--- /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 32c7fe813ef93c20b833f4bc6f8513e8c2e931ce..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..6d7c86cb20df5272bc4092173453e02550031b5c
--- /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 1fe6dfeab6da06511e45a6329e28003abcd0fe11..0000000000000000000000000000000000000000
--- 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 2ae0680c0c4252072cf5a2394413ec98636549e5..075a6ffade7bb465f7f470723197f6e4a5e4eaec 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 2616379beb9f5fa0f92627bfdf8d713890715e4f..a0bd628d033c98a7deef888a1aee8a4b528ccd5f 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 27a794bd0fd6b391a892451d51283db2d7af9e92..23dfd7ef49c61ec5dbb73acfdccadec364dc18c0 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 49fd4cc5620f9e1e65972a4cfcdfecb075dcbb09..4c1e665cc7b7c0aa508d46cf39462fa3ba7c752b 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 d7a29a0cf922f7c591ab45f200fb4388188fb8f5..4facccd62b34fadcbce2fd5c59bc8542e7cba6c5 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 f831f5399410623b84d99b5318969dfa3bb3500e..b81669be0514e01030ab248d00524576f451e874 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 57153a34dcac6304b8855f6d13bda1e9882d31f8..6e05b213ac675e1ada13f98bbe55df65a9da03c2 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 c775636335a3a86494f5c2d1662a3dde55d36ad1..0ec2d42c105f396ede387f45e78de27f0886772a 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 746965fa67a683b76a5c7b2234590c33396b44e9..6437590683753685cc11d098e275428a6b1c4810 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 a725f666467e9fa8e9098743ef42192317d97dc5..8afa57b01082589b10c177dffd8049664dd84f49 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 8dcb749ce37e1fe5df9cd0c07203ea26d9cd993e..0cf717c774cb9f23f0a0d2578967fb6821a7dd8e 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 7df55730c6285382ae5ffd176b7fa6cc66dda82d..cc0de3d56c2aaba4870fb8af7be1fef333053b7f 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 c03a884be0bb69a3dd9c89d10cf20c8c05e8f49d..daeafd0fa5c6b332fead34b770ef89470bb32910 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 3dc25e117716fd7e0131863e4808561c86c6609e..b231b73f5a7f03df11f243ab769526682e0a68a6 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 ae98f9216757a3738540183a3190f4ee46e32e6e..8989c464ab2f7fe7db3377f09d46941e7bbd0d83 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 aeb4e44315630bc61e9bee961fabb597bcf4ff0e..496455039a63d24164ae3eb5edc4b1282691488d 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 0c359a2e3d8fd4abda3bb2da29f9363b46ca9a27..93a7a6edc6a7de93e92b5c810c794edb63ed4e14 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 e9beb907a5bfa1add8d2ffc671f026b261b92c0b..695ec39588e9cc8db27da31b12b663c12e552209 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 b0fe9e21cf7b2bbc47748d63c2db82e50a7e1cd3..dc7493ece8e1aec47b4c96ab6fa2d64b5cb56d5a 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 23122a9accabdea7b13081022a7861592b9fd547..7eac72ef406f4c07cb57a8ade68f51e66017c6ca 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 d15732ece60eca93096a27dd1870d98999de5725..222ce47161b2c16a88a306a06db90f192867053f 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 621a0692fa119ab5d1b7e283210d18e81f5ced04..b9482d7989288d18950355d82f919df473e8f0a7 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 a9096c8ef41b77743fd5ce9c507d257a68abe899..b4e4923cc4243a1d6a2df1bcb9f01b3d1dee696a 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 5d54d069823dd9cec56f2af114fb4515daefb438..095327a19a520fee168a37c69296deaa52d3b248 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 4fd0f56b1ec5d4fafe4caf0b8f6b650410f4f932..06b9f5cd7a1702f2fe9ccedc0de5d3808c28b95f 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 a1bdaaee6d38882bd3139be4223bea199b2e3e80..30c69187e73778208237433f4af51ff498e1bfd3 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()