heintzl / Kernbeisser-Gradle

the Kernbeisser Repository with Gradle Support
5 stars 1 forks source link

Entity Ids in allen zeitabhängigen logischen Prozessen ersetzen #768

Closed heintzl closed 3 months ago

heintzl commented 4 months ago

In Hibernate 6 werden Ids nicht mehr über alle Entities inkrementiert, sondern pro Klasse. Außerdem werden Ids, die vorher noch nie vergeben wurden, u.U. verwendet, auch wenn es bereits höhere Ids gibt. Das hat zur Folge, dass Operationen, die davon ausgehen, dass neuere Datensätze grundsätzlich auch höhere Ids haben, fehleranfällig werden. Daher muss für diese Operationen eine neue Eigenschaft eingeführt werden, die strikt squenziell in der Zeit ist. Das betrifft nach bisherigen Analysen nur die Transaction. Die Purchase Id wird als Bonnummer verwendet, verwendet aber ein Inkrementierungsmodell, das von der Hibernate-Anpassung nicht betroffen ist. Dennoch sollte die Bonnummer genauso auf eine Logik umgestellt werden, die ausschließlich durch die Applikation verwaltet wird, um künftige Probleme zu vermeiden.