|
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