JPA-Sequenz für Nicht-Identifikator-Spalte in den Ruhezustand versetzen
Frage:
Ist das machbar? Nutzen Sie eine Datenbanksequenz, um mithilfe von Hibernate Werte für eine Tabellenspalte zu generieren, die nicht als Bezeichner oder Komponente eines zusammengesetzten Bezeichners festgelegt ist JPA?
Antwort:
Hibernate JPA unterstützt keine automatisierte Wertgenerierung für Eigenschaften, die nicht als Kennung gekennzeichnet sind. Die Annotation @GeneratedValue wird ausschließlich in Verbindung mit @Id verwendet, um automatisch inkrementierende Werte zu erstellen.
Problemumgehung:
Um diese Einschränkung zu umgehen, sollten Sie die Erstellung einer separaten Entität mit in Betracht ziehen eine generierte Kennung, wie zum Beispiel:
@Entity public class GeneralSequenceNumber { @Id @GeneratedValue(...) private Long number; } @Entity public class MyEntity { @Id .. private Long id; @OneToOne(...) private GeneralSequnceNumber myVal; }
Dieser Ansatz beinhaltet die Herstellung einer Eins-zu-Eins-Beziehung zwischen der Hauptentität und der Sequenz juristische Person. Durch die Nutzung dieser separaten Entität kann Hibernate den eindeutigen Sequenzwert generieren, der der gewünschten Eigenschaft in der Hauptentität zugewiesen werden kann.
Das obige ist der detaillierte Inhalt vonKann JPA im Ruhezustand Sequenzen für Nicht-ID-Spalten verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!