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; }