Java 有没有办法继承一个不是@MappedSuperclass的实体?
假设我有一个JPA实体:Java 有没有办法继承一个不是@MappedSuperclass的实体?,java,hibernate,jpa,Java,Hibernate,Jpa,假设我有一个JPA实体: @Entity @Table(name = "PARENT") public class Parent { // ... } 是否有任何方法(可能是特定于Hibernate的)在单独的表中创建Parent的子类 @Entity @Table(name = "CHILD") public class Child extends Parent { // ... } 其主要思想是在项目之间共享一个基本包中的一组公共实体类,并仅在需要某些特定于项目的属性时扩
@Entity
@Table(name = "PARENT")
public class Parent {
// ...
}
是否有任何方法(可能是特定于Hibernate的)在单独的表中创建Parent
的子类
@Entity
@Table(name = "CHILD")
public class Child extends Parent {
// ...
}
其主要思想是在项目之间共享一个基本包中的一组公共实体类,并仅在需要某些特定于项目的属性时扩展它们。使用
@heritance(strategy=heritancetype.TABLE\u PER\u class)注释父类。
。Hibernate文档(对于版本4.3,新的5.0文档到目前为止似乎缺少这一部分)在手册的和中涵盖了这一点。用@heritance(strategy=heritanceType.TABLE\u PER\u class)
注释父类。Hibernate文档(对于版本4.3,新的5.0文档到目前为止似乎缺少此部分)在手册的和中介绍了这一点。Hibernate继承:注释映射
用
@heritance(strategy=InheritanceType.TABLE\u PER\u class)注释父类。Hibernate文档(对于版本4.3,新的5.0文档到目前为止似乎缺少这一部分)在手册的和中介绍了这一点
在每个具体类一个表的方案中,每个具体类都映射为普通的持久类。因此我们有3张桌子;父级、子级以持久化类数据。在这个方案中,子类的映射重复父类的属性
下面是每个子类方案一个表的优点和缺点。
优势
这是实现继承映射的最简单方法
下面是使用JPA注释映射父实体类和子实体类的示例
@Entity
@Table(name = "Parent")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Parent {
// Getter and Setter methods,
}
@继承–定义用于实体类层次结构的继承策略。它在作为实体类层次结构根的实体类上指定
@InheritanceType–定义继承策略选项。TABLE_PER_类是一种按具体类映射表的策略
@Entity
@Table(name="Child")
public class Child extends Parent {
// Getter and Setter methods,
}
休眠继承:注释映射
用@heritance(strategy=InheritanceType.TABLE\u PER\u class)注释父类。Hibernate文档(对于版本4.3,新的5.0文档到目前为止似乎缺少这一部分)在手册的和中介绍了这一点
在每个具体类一个表的方案中,每个具体类都映射为普通的持久类。因此我们有3张桌子;父级、子级以持久化类数据。在这个方案中,子类的映射重复父类的属性
下面是每个子类方案一个表的优点和缺点。
优势
这是实现继承映射的最简单方法
下面是使用JPA注释映射父实体类和子实体类的示例
@Entity
@Table(name = "Parent")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Parent {
// Getter and Setter methods,
}
@继承–定义用于实体类层次结构的继承策略。它在作为实体类层次结构根的实体类上指定
@InheritanceType–定义继承策略选项。TABLE_PER_类是一种按具体类映射表的策略
@Entity
@Table(name="Child")
public class Child extends Parent {
// Getter and Setter methods,
}
非常感谢。尽管文档中并没有直接描述这种方法,但它是有效的。谢谢。尽管文档中并没有直接描述这种方式,但它是有效的。