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

Kann JPA im Ruhezustand Sequenzen für Nicht-PrimaryKey-Spalten generieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-07 08:00:24224Durchsuche

Can Hibernate JPA Generate Sequences for Non-PrimaryKey Columns?

Hibernate JPA Sequence for Non-Identifier Columns

Frage:

Ist das möglich? Generieren Sie mithilfe von Hibernate einen sequenzbasierten Wert für eine Nicht-Primärschlüsselspalte JPA?

Antwort:

Nein, Hibernate JPA unterstützt nicht direkt die Generierung sequenzbasierter Werte für Nicht-Identifikator-Spalten. Die @GeneratedValue-Annotation wird nur mit @Id verwendet, um automatische Nummern zu generieren.

Problemumgehung:

Um diese Funktionalität zu erreichen, besteht eine Problemumgehung darin, eine separate Entität mit zu erstellen eine generierte ID und eine Eins-zu-eins-Beziehung mit der ursprünglichen Entität, wie unten gezeigt:

@Entity
public class GeneralSequenceNumber {
    @Id
    @GeneratedValue(...)
    private Long number;
}

@Entity 
public class MyEntity {
    @Id ..
    private Long id;

    @OneToOne(...)
    private GeneralSequnceNumber myVal;
}

In dieser Lösung ist die Die GeneralSequenceNumber-Entität verwaltet die Sequenzgenerierung und behält gleichzeitig eine Beziehung zur ursprünglichen MyEntity bei.

Das obige ist der detaillierte Inhalt vonKann JPA im Ruhezustand Sequenzen für Nicht-PrimaryKey-Spalten generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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