Heim > Java > javaLernprogramm > Wie ordne ich zusammengesetzte Schlüssel in JPA und Hibernate mithilfe von EmbeddedId oder IdClass zu?

Wie ordne ich zusammengesetzte Schlüssel in JPA und Hibernate mithilfe von EmbeddedId oder IdClass zu?

Susan Sarandon
Freigeben: 2024-12-03 05:22:16
Original
579 Leute haben es durchsucht

How to Map Composite Keys in JPA and Hibernate using EmbeddedId or IdClass?

Zusammengesetzte Schlüssel mit JPA und Hibernate zuordnen

Zusammengesetzte Schlüssel in Java Persistence API (JPA) und Hibernate zuordnen, kann mit EmbeddedId oder IdClass Anmerkungen.

Mit IdClass

    Definieren Sie eine separate Primärschlüsselklasse (z. B. TimePK), die die zusammengesetzten Schlüsselfelder und ihre Getter/Setter kapselt.
  1. Annotieren Sie die Entität mit der Annotation @IdClass und geben Sie dabei den Primärschlüssel an Klasse.
public class TimePK implements Serializable {
    private Integer levelStation;
    private Integer confPathID;
    // getters, setters
}

@Entity
@IdClass(TimePK.class)
class Time {
    @Id
    private Integer levelStation;
    @Id
    private Integer confPathID;
    // ...
}
Nach dem Login kopieren

Mit EmbeddedId

    Definieren Sie auf ähnliche Weise eine separate Primärschlüsselklasse (z. B. TimePK).
  1. Annotieren Sie die Primärschlüsselklasse mit der @Embeddable-Annotation.
  2. Annotieren die Entität mit der @EmbeddedId-Annotation und geben Sie die Primärschlüsselklasse an.
@Embeddable
public class TimePK implements Serializable {
    private Integer levelStation;
    private Integer confPathID;
    // getters, setters
}

@Entity
class Time {
    @EmbeddedId
    private TimePK timePK;
    // ...
}
Nach dem Login kopieren

Unterschiede

  • Semantik: EmbeddedId legt nahe, dass der zusammengesetzte Schlüssel eine bestimmte Bedeutung hat, während IdClass besser geeignet ist, wenn die Kombination von Feldern einfach eindeutig ist Bezeichner.
  • Abfragesyntax: Mit EmbeddedId wird auf die Primärschlüsselfelder über die eingebettete Primärschlüsselklasse zugegriffen, während mit IdClass direkt auf die Felder zugegriffen werden kann.

Referenzen

    JPA 1.0-Spezifikation: Abschnitt 2.1.4, 9.1.14 und 9.1.15

Das obige ist der detaillierte Inhalt vonWie ordne ich zusammengesetzte Schlüssel in JPA und Hibernate mithilfe von EmbeddedId oder IdClass zu?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage