javax.persistence.ManyToOne – annotazione JPA

Definisce un’associazione a valore singolo con un’altra classe di entità che ha molteplicità a uno. Normalmente non è necessario specificare esplicitamente l’entità di destinazione poiché di solito può essere dedotta dal tipo dell’oggetto a cui si fa riferimento. Se la relazione è bidirezionale, il lato dell’entità non proprietaria OneToMany deve usare l’elemento mappedBy per specificare il campo o la proprietà della relazione dell’entità che è proprietaria della relazione.

L’annotazione ManyToOne può essere usata all’interno di una classe incorporabile per specificare una relazione dalla classe incorporabile ad una classe entità. Se la relazione è bidirezionale, il lato dell’entità OneToMany non proprietaria deve usare l’elemento mappedBy dell’annotazione OneToMany per specificare il campo o la proprietà della relazione del campo o della proprietà embeddable sul lato proprietario della relazione. La sintassi della notazione punto (“.”) deve essere usata nell’elemento mappedBy per indicare l’attributo di relazione all’interno dell’attributo incorporato. Il valore di ogni identificatore usato con la notazione punto è il nome del rispettivo campo o proprietà incorporata.

Esempio 1:

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

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.