1
我想知道是否有任何意义(或者即使它是正确的)用@Inheritance注解每一个层次结构的类。例如,假设我们有以下简单的层次结构:将JPA的2.0 @Inheritance注释用于子类是否有意义?
public class A { ... }
public class B extends A { ... }
public class C extends A { ... }
为了保存这些类的对象,我们就标注A类如下:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class A { ... }
我的问题是,我们需要将@Inheritance注释添加到类B和C也?正如Javadoc所说“它是作为实体类层次结构的根的实体类指定的。”所以我的潜在答案是,不!但是,如果我们对它们进行注释,这是否有任何意义,还是完全被忽略?
感谢
只是为了澄清一点。我已经用InheritanceType.JOINED注释了基类。我的问题是:是否有效/合法/有意义的还注释一个子类,也许选择另一个继承类型(例如InheritanceType.TABLE_PER_CLASS)? – gpol
如果您想为Subclass1使用JOINED,为Subclass2使用TABLE_PER_CLASS,则应该为每个子类添加注释。另外,不需要向超类添加注释。 如果您为超类添加注释,则所有没有注释的子类都应该使用它。 –
所以,如果我用JOINED注解类A,根据你说的我应该有的类B留下类B和注释类C: – gpol