eclipselink继承问题:与超类的关系查询所有子类

qrjkbowd  于 2021-07-08  发布在  Java
关注(0)|答案(0)|浏览(151)

我对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对象是哪种类型的?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题