2020-03-31

Hibernate JPA @AssociationOverrides Example

The @AssociationOverrides is used to group several @AssociationOverride annotations.

@Target(value={TYPE,METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface AssociationOverrides
Used to override mappings of multiple relationship properties or fields.
   
    Example:

    @MappedSuperclass
    public class Employee {
    
        @Id protected Integer id;
        @Version protected Integer version;
        @ManyToOne protected Address address;
        @OneToOne protected Locker locker;
    
        public Integer getId() { ... }
        public void setId(Integer id) { ... }
        public Address getAddress() { ... }
        public void setAddress(Address address) { ... }
        public Locker getLocker() { ... }
        public void setLocker(Locker locker) { ... }
        ...
    }
    
    @Entity
    @AssociationOverrides({
        @AssociationOverride(
                   name="address", 
                   joinColumns=@JoinColumn("ADDR_ID")),
        @AttributeOverride(
                   name="locker", 
                   joinColumns=@JoinColumn("LCKR_ID"))
        })
    public PartTimeEmployee { ... }

No comments:

Post a Comment