javax.persistence.ManyToOne – JPA-annotation

Definierar en enkelvärdesassociation till en annan entitetsklass som har många till en multiplicitet. Det är normalt inte nödvändigt att ange målentiteten explicit eftersom den vanligtvis kan härledas från typen av det objekt som refereras. Om relationen är dubbelriktad måste den icke ägande OneToMany-enhetssidan använda mappedBy-elementet för att specificera relationsfältet eller -egenskapen för den enhet som är ägare av relationen.

Annotationen ManyToOne kan användas inom en inbäddbar klass för att specificera en relation från den inbäddbara klassen till en entitetsklass. Om relationen är dubbelriktad måste den icke ägande OneToMany entitetssidan använda mappedBy-elementet i OneToMany-annotationen för att specificera relationsfältet eller -egenskapen för det inbäddningsbara fältet eller egenskapen på den ägande sidan av relationen. Syntaxen för punktnotering (”.”) måste användas i mappedBy-elementet för att ange relationsattributet inom det inbäddade attributet. Värdet av varje identifierare som används med punktnotationen är namnet på respektive inbäddat fält eller inbäddad egenskap.

Exempel 1:

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

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

Lämna ett svar

Din e-postadress kommer inte publiceras.