Määrittää yksiarvoinen assosiaatio toiseen olioluokkaan, jolla on moni-yksi-kertaisuus. Tavallisesti kohdeoliota ei tarvitse määrittää eksplisiittisesti, koska se voidaan yleensä päätellä viitattavan objektin tyypistä. Jos suhde on kaksisuuntainen, ei-omistavan OneToMany
-olion puolen on käytettävä mappedBy
-elementtiä suhteen omistavan olion suhteen kentän tai ominaisuuden määrittämiseen.
ManyToOne
-merkintää voidaan käyttää upotettavan luokan sisällä määrittämään suhde upotettavasta luokasta olioluokkaan. Jos suhde on kaksisuuntainen, ei-omistavan OneToMany
-olion puolen on käytettävä OneToMany
-merkinnän mappedBy
-elementtiä suhteen omistavan puolen upotettavan kentän tai ominaisuuden suhteen kentän tai ominaisuuden määrittämiseen. mappedBy
-elementissä on käytettävä pisteen (”.”) merkintäsyntaksia ilmaisemaan suhdeattribuutti upotetun attribuutin sisällä. Jokaisen pisteen kanssa käytetyn tunnisteen arvo on kyseisen upotetun kentän tai ominaisuuden nimi.
Esimerkki 1:
@ManyToOne(optional=false) @JoinColumn(name="CUST_ID", nullable=false, updatable=false) public Customer getCustomer() { return customer; }
Esimerkki 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; }