我对java继承/jpa有问题:
在我的代码中,我有以下类结构:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class A {
.. some fields
}
@Entity
@Table(name = "V_B")
public class B extends A {
.. some other fields
}
@Entity
@Table(name = "V_C")
public class C extends A {
.. some other fields
}
@Entity
@Table(name = "V_X")
public class X {
@ManyToOne
@JoinColumn(name = "A_ID")
private A data;
...
}
因此类x可以引用类型b或c的对象。如果我加载一个类型为x的对象,我会看到select语句以a的id值执行到类b和类c。例如,如果我有a的十个子类,那么总会有十个select语句来查找一个链接的对象。
有没有可能防止这种情况(从而降低性能)?i、 e.通过向类x添加任何进一步的信息,具体链接的a对象是哪种类型的?
暂无答案!
目前还没有任何答案,快来回答吧!