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

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

我对java继承/jpa有问题:
在我的代码中,我有以下类结构:

  1. @Entity
  2. @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
  3. public abstract class A {
  4. .. some fields
  5. }
  6. @Entity
  7. @Table(name = "V_B")
  8. public class B extends A {
  9. .. some other fields
  10. }
  11. @Entity
  12. @Table(name = "V_C")
  13. public class C extends A {
  14. .. some other fields
  15. }
  16. @Entity
  17. @Table(name = "V_X")
  18. public class X {
  19. @ManyToOne
  20. @JoinColumn(name = "A_ID")
  21. private A data;
  22. ...
  23. }

因此类x可以引用类型b或c的对象。如果我加载一个类型为x的对象,我会看到select语句以a的id值执行到类b和类c。例如,如果我有a的十个子类,那么总会有十个select语句来查找一个链接的对象。
有没有可能防止这种情况(从而降低性能)?i、 e.通过向类x添加任何进一步的信息,具体链接的a对象是哪种类型的?

暂无答案!

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

相关问题