javax.persistence.ManyToOne – Anotace JPA

Definuje jednohodnotovou asociaci na jinou třídu entit, která má multiplicitu many-to-one. Obvykle není nutné cílovou entitu explicitně specifikovat, protože ji lze obvykle odvodit z typu odkazovaného objektu. Pokud je vztah obousměrný, musí nevlastnící strana entity OneToMany použít prvek mappedBy k určení pole vztahu nebo vlastnosti entity, která je vlastníkem vztahu.

Anotaci ManyToOne lze použít v rámci vložitelné třídy pro specifikaci vztahu z vložitelné třídy na třídu entit. Pokud je vztah obousměrný, musí nevlastnící strana entity OneToMany použít prvek mappedBy anotace OneToMany k určení vztahového pole nebo vlastnosti vložitelného pole nebo vlastnosti na vlastnící straně vztahu. Pro označení vztahového atributu v rámci vloženého atributu musí být v prvku mappedBy použita syntaxe zápisu s tečkou („.“). Hodnota každého identifikátoru použitého s tečkovou notací je název příslušného vloženého pole nebo vlastnosti.

Příklad 1:

 @ManyToOne(optional=false) @JoinColumn(name="CUST_ID", nullable=false, updatable=false) public Customer getCustomer() { return customer; }

Příklad 2:

 @Entity public class Employee { @Id int id; @Embedded JobInfo jobInfo; ... } @Embeddable public class JobInfo { String jobDescription; @ManyToOne ProgramManager pm; // Bidirectional } @Entity public class ProgramManager { @Id int id; @OneToMany(mappedBy="jobInfo.pm") Collection manages; } 

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.