This annotation is used to override a many-to-one or
one-to-one mapping of property or field for an entity relationship.
The AssociationOverride annotation may be applied
to an entity that extends a mapped superclass to override a many-to-one
or one-to-one mapping defined by the mapped superclass. If the
AssociationOverride annotation is not specified, the join
column is mapped the same as in the original mapping.
Example:
@MappedSuperclass
public class Employee {
...
@ManyToOne
protected Address address;
...
}
@Entity
@AssociationOverride(name="address",
joinColumns=@JoinColumn(name="ADDR_ID"))
// address field mapping overridden to ADDR_ID fk
public class PartTimeEmployee extends Employee {
...
}
The
AssociationOverrideannotation may be applied to an entity that extends a mapped superclass to override a many-to-one or one-to-one mapping defined by the mapped superclass. If theAssociationOverrideannotation is not specified, the join column is mapped the same as in the original mapping.Example: @MappedSuperclass public class Employee { ... @ManyToOne protected Address address; ... } @Entity @AssociationOverride(name="address", joinColumns=@JoinColumn(name="ADDR_ID")) // address field mapping overridden to ADDR_ID fk public class PartTimeEmployee extends Employee { ... }