Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ТРЕБУЕМЫЙ | ДОПОЛНИТЕЛЬНЫЙ | ДЕТАЛЬ: ЭЛЕМЕНТ |
@Documented @Target(value=TYPE) @Retention(value=RUNTIME) public @interface MappedSuperclass
Определяет class, отображение которого информации применяется к объектам, которые наследовались от этого. У отображенного суперкласса нет никакой отдельной таблицы, определенной для этого.
class, определяемый с MappedSuperclass
аннотация может быть отображена таким же образом как объект за исключением того, что отображения будут применяться только к его подклассам, так как никакая таблица не существует для отображенного суперкласса непосредственно. Когда применено к подклассы наследованные отображения будут применяться в контексте таблиц подкласса. Отображение информации может быть переопределено в таких подклассах при использовании AttributeOverride
и AssociationOverride
аннотации или соответствующие элементы XML.
Example: Concrete class as a mapped superclass @MappedSuperclass public class Employee { @Id protected Integer empId; @Version protected Integer version; @ManyToOne @JoinColumn(name="ADDR") protected Address address; public Integer getEmpId() { ... } public void setEmpId(Integer id) { ... } public Address getAddress() { ... } public void setAddress(Address addr) { ... } } // Default table is FTEMPLOYEE table @Entity public class FTEmployee extends Employee { // Inherited empId field mapped to FTEMPLOYEE.EMPID // Inherited version field mapped to FTEMPLOYEE.VERSION // Inherited address field mapped to FTEMPLOYEE.ADDR fk // Defaults to FTEMPLOYEE.SALARY protected Integer salary; public FTEmployee() {} public Integer getSalary() { ... } public void setSalary(Integer salary) { ... } } @Entity @Table(name="PT_EMP") @AssociationOverride( name="address", joincolumns=@JoinColumn(name="ADDR_ID")) public class PartTimeEmployee extends Employee { // Inherited empId field mapped to PT_EMP.EMPID // Inherited version field mapped to PT_EMP.VERSION // address field mapping overridden to PT_EMP.ADDR_ID fk @Column(name="WAGE") protected Float hourlyWage; public PartTimeEmployee() {} public Float getHourlyWage() { ... } public void setHourlyWage(Float wage) { ... } }
AttributeOverride
, AssociationOverride
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ТРЕБУЕМЫЙ | ДОПОЛНИТЕЛЬНЫЙ | ДЕТАЛЬ: ЭЛЕМЕНТ |
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41