Package org.hibernate.annotations
Annotation Interface PropertyRef
@Target({FIELD,METHOD,ANNOTATION_TYPE})
@Retention(RUNTIME)
@Incubating
public @interface PropertyRef
Allows to specify the target of a foreign-key using a "target attribute" as opposed to
join column(s). E.g.
@Entity class Employee { @Id Integer id; @Column(name="ssn") String socialSecurityNumber; } @Entity class TaxDetails { @Id Integer id; @OneToOne @PropertyRef("socialSecurityNumber") Employee employee; }Generally more useful with composite keys:
@Embeddable class Name { String first; String last; } @Entity class Employee { @Id Integer id; @Embedded Name name; } @Entity class TaxDetails { @Id Integer id; @OneToOne @PropertyRef("name") Employee employee; }
- API Note:
- As Hibernate allows OneToMany.mappedBy() and ManyToMany.mappedBy() to refer to basic and embedded attributes already, this annotation is mainly useful for mapping to-one associations.
-
Required Element Summary
Required Elements
-
Element Details
-
value
String valueThe name of the attribute on the target entity which defines the foreign-key target.
-