javax.persistence.ManyToOne – JPA annotáció

Egyszeres értékű asszociációt definiál egy másik entitásosztályhoz, amely sok-egyszeres multiplicitással rendelkezik. A célentitás explicit megadása általában nem szükséges, mivel az általában kikövetkeztethető a hivatkozott objektum típusából. Ha a kapcsolat kétirányú, akkor a nem tulajdonos OneToMany entitás oldalának a mappedBy elemet kell használnia a kapcsolat mezőjének vagy tulajdonságának megadására, amely a kapcsolat tulajdonosa.

A ManyToOne megjegyzés egy beágyazható osztályon belül használható a beágyazható osztály és egy entitásosztály közötti kapcsolat megadására. Ha a kapcsolat kétirányú, akkor a nem tulajdonos OneToMany entitásoldalnak a OneToMany annotáció mappedBy elemét kell használnia a beágyazható mező vagy tulajdonság kapcsolati mezőjének vagy tulajdonságának megadására a kapcsolat tulajdonos oldalán. A mappedBy elemben a pont (“.”) jelölés szintaxisát kell használni a beágyazott attribútumon belüli kapcsolati attribútum jelölésére. A pont jelöléssel használt egyes azonosítók értéke a megfelelő beágyazott mező vagy tulajdonság neve.

Példa 1:

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

Példa 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; } 

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.