Heim > Java > javaLernprogramm > Kann JPA im Ruhezustand Sequenzen für Nicht-ID-Spalten verwenden?

Kann JPA im Ruhezustand Sequenzen für Nicht-ID-Spalten verwenden?

DDD
Freigeben: 2024-11-30 20:44:22
Original
692 Leute haben es durchsucht

Can Hibernate JPA Use Sequences for Non-ID Columns?

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage