TOPIC: String als Primärschlüssel verursacht Fehler
11 months 2 weeks ago #468
Ausgangssituation:
Mehrere neue Eintitäten erstellt
Primärschlüssel von Datentyp int auf String mit definierter Länge umgestellt
Export der Entitäten in Datenbank

Tatsächliches Verhalten:
Export der Entitäten in die Datenbank erfolgt nicht, trotz Meldung: Table export finished succesfully.
Auch im Error Log und den SQL Results gibt es keine Einträge.

Fehlerursache: Hibernate Annotation @GeneratedValue(strategy = GenerationType.AUTO) wird im Quellcode nicht gelöscht, wenn ein anderer Datentyp als int verwendet wird.

Erwartetes Verhalten:
Export der Eintitäten in die Datenbank erfolgt tatsächlich
Verwendung der Hibernate Annotation @GeneratedValue(strategy = GenerationType.AUTO) nur bei Datentyp int
Kein überflüssiger Import von javax.persistence.GeneratedValue sowie javax.persistence.GenerationType, wenn o. g. Hibernate Annotation nicht gesetzt wird.

Kommentar:
Das Problem tritt auch dann auf, wenn man das vordefinierte Attribut id löscht und manuell ein neues erzeugt.

Bei den durch die Authorization und Authentication Provider erzeugten Entitäten tritt dieses Problem nicht auf, hier wurde der Quellcode sauber generiert.
(Hier wird auch ein String als Primärschlüssel verwendet)

Vielleicht wäre es sinnvoll, den User manuell entscheiden zu lassen, ob er ein Autoinkrement möchte oder nicht. Schließlich kann man es in der Datenbank ja auch definieren. Allerdings sollte dies auch nur bei unterstützten Datentypen ausgewählt werden können und unter Umständen bereits standardmäßig aktiviert sein.

Außerdem sollte ein Primärschlüssel immer eindeutig sein und nicht genullt werden können, also:
@Column(unique = true, nullable = false) -> wird bei den durch die Authorization und Authentication Provider erzeugten Entitäten auch verwendet!

Priorität:
Hoch
Last Edit: 11 months 2 weeks ago by PhantomLord.
The administrator has disabled public write access.
11 months 2 days ago #483
Das Problem bezieht sich vermutlich auf die bereits gemeldeten Issues:

xdevissues.com/browse/XWS-980

in Kombination mit

xdevissues.com/browse/XWS-978

sowie

xdevissues.com/browse/XWS-996

Kann das RapidClipse Team das Problem so bestätigen und nachvollziehen?
Last Edit: 10 months 3 weeks ago by PhantomLord.
The administrator has disabled public write access.