javax.persistence.ManyToOne – JPA-annotatie

Definieert een associatie van één waarde met een andere entiteitklasse die een veel-op-één multipliciteit heeft. Het is normaal gesproken niet nodig om de doelentiteit expliciet te specificeren, aangezien deze meestal kan worden afgeleid uit het type van het object waarnaar wordt verwezen. Als de relatie bidirectioneel is, moet de kant van de OneToMany-entiteit die geen eigenaar is, het mappedBy-element gebruiken om het relatieveld of de eigenschap te specificeren van de entiteit die eigenaar is van de relatie.

De annotatie ManyToOne kan binnen een embeddable class worden gebruikt om een relatie van de embeddable class naar een entity class te specificeren. Als de relatie bidirectioneel is, moet aan de kant van de OneToMany-entiteit die de eigenaar niet is, het mappedBy-element van de OneToMany-annotatie worden gebruikt om het relatieveld of de relatie-eigenschap van het inbedbare veld of de inbedbare eigenschap aan de kant van de eigenaar van de relatie op te geven. De punt (“.”) notatie syntaxis moet worden gebruikt in het mappedBy-element om het relatie-attribuut binnen het ingesloten attribuut aan te geven. De waarde van elke identifier die wordt gebruikt met de punt-notatie is de naam van het respectieve ingesloten veld of eigenschap.

Voorbeeld 1:

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

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

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.