The AttributeOverride annotation is used to
override the mapping of a {@link Basic} (whether explicit or
default) property or field or Id property or field.
The AttributeOverride annotation may be
applied to an entity that extends a mapped superclass or to
an embedded field or property to override a basic mapping
defined by the mapped superclass or embeddable class. If the
AttributeOverride annotation is not specified,
the column is mapped the same as in the original mapping.
Example:
@MappedSuperclass
public class Employee {
@Id protected Integer id;
@Version protected Integer version;
protected String address;
public Integer getId() { ... }
public void setId(Integer id) { ... }
public String getAddress() { ... }
public void setAddress(String address) { ... }
}
@Entity
@AttributeOverride(name="address", column=@Column(name="ADDR"))
public class PartTimeEmployee extends Employee {
// address field mapping overridden to ADDR
protected Float wage();
public Float getHourlyWage() { ... }
public void setHourlyWage(Float wage) { ... }
}
|