javax.persistence.ManyToOne – Adnotare JPA

Define o asociere cu o singură valoare la o altă clasă de entități care are multiplicitate multiplă la una. În mod normal, nu este necesar să se specifice în mod explicit entitatea țintă, deoarece aceasta poate fi de obicei dedusă din tipul obiectului la care se face referire. În cazul în care relația este bidirecțională, partea entității OneToMany care nu este proprietară trebuie să utilizeze elementul mappedBy pentru a specifica câmpul sau proprietatea de relație a entității care este proprietara relației.

Adnotarea ManyToOne poate fi utilizată în cadrul unei clase încorporabile pentru a specifica o relație de la clasa încorporabilă la o clasă de entități. În cazul în care relația este bidirecțională, partea entității OneToMany care nu este proprietară trebuie să utilizeze elementul mappedBy din adnotarea OneToMany pentru a specifica câmpul sau proprietatea de relație a câmpului sau proprietății încorporabile de pe partea proprietară a relației. Sintaxa de notație punct („.”) trebuie să fie utilizată în elementul mappedBy pentru a indica atributul de relație din cadrul atributului încorporat. Valoarea fiecărui identificator utilizat cu notația punct este numele câmpului sau proprietății încorporate respective.

Exemplu 1:

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

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

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.