javax.persistence.ManyToOne – adnotacja JPA

Definiuje jedno-wartościową asocjację do innej klasy encji, która ma krotność many-to-one. Zazwyczaj nie jest konieczne jawne określenie encji docelowej, ponieważ zazwyczaj można ją wywnioskować z typu obiektu, do którego się odwołujemy. Jeśli relacja jest dwukierunkowa, strona podmiotu niebędącego właścicielem OneToMany musi użyć elementu mappedBy do określenia pola relacji lub właściwości podmiotu, który jest właścicielem relacji.

Adnotacja ManyToOne może być użyta wewnątrz klasy wbudowalnej w celu określenia relacji z klasy wbudowalnej do klasy encji. Jeśli relacja jest dwukierunkowa, strona nieposiadająca OneToMany encji musi użyć elementu mappedBy adnotacji OneToMany w celu określenia pola lub właściwości relacji z polem lub właściwością embeddable po stronie posiadającej relacji. Składnia notacji kropki („.”) musi być użyta w elemencie mappedBy w celu wskazania atrybutu relacji w ramach wbudowanego atrybutu. Wartość każdego identyfikatora użytego z notacją kropkową jest nazwą odpowiedniego wbudowanego pola lub właściwości.

Przykład 1:

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

Przykład 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; } 

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.