javax.persistence.MappedSuperclass
1397 ワード
@MappedSuperclass
対応するテーブルを生成しないエンティティ・ベース・クラスを識別します.サブクラスはこのベースクラスを継承し@entryで識別し、サブクラスは対応するテーブル構造を生成します.
eg:
Employeeはテーブルを生成せず、FTEmployeeはテーブルt_を生成するFTEmployee
対応するテーブルを生成しないエンティティ・ベース・クラスを識別します.サブクラスはこのベースクラスを継承し@entryで識別し、サブクラスは対応するテーブル構造を生成します.
eg:
@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
@Table(name="t_FTEmployee")
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) { ... }
}
Employeeはテーブルを生成せず、FTEmployeeはテーブルt_を生成するFTEmployee