@MappedSuperclass
标识一个实体基类,此类不生成对应表;子类继承该基类并用@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
分享到:
相关推荐
javax.persistence.MappedSuperclass.class javax.persistence.MapsId.class javax.persistence.metamodel.Attribute.class javax.persistence.metamodel.BasicType.class javax.persistence.metamodel.Bindable....
JPA规范的注解主要集中在`javax.persistence`包中,这些注解用于标注实体类、属性、关系等,使得ORM(对象关系映射)过程更加便捷。 在`javax.persistence`包中,有几个核心的注解,包括但不限于: 1. `@Entity`:...
import javax.persistence.MappedSuperclass; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Version; @MappedSuperclass public abstract class ...
import javax.persistence.MappedSuperclass; import java.io.Serializable; @MappedSuperclass public abstract class BaseEntity implements Serializable { @Column(name = "created_time") private Date ...
- **程序级验证**:可以在业务逻辑中显式地调用验证方法,如 `javax.validation.Validator`。 - **验证信息**:利用 Hibernate Validator 提供的 API 来获取验证失败的详细信息。 #### 5. Hibernate 与 Lucene ...