HQL与2个表连接,这些表依赖于一个具有一个SQL的根表

时间:2017-12-23 23:41:29

标签: hibernate hql

我有3张桌子 tableA引用了tableB.id和tableC.id

所以在我的实体中:

class TableA{

  @OneToMany
  public TableB getTableB(){}

  @OneToMany
  public TableC getTableC(){}

}

所以我需要使用预取的tableB和C从tableA中选择所有记录。我写了HQL:

select a from TableA a inner join a.tableB inner join a.tableC

但后来我在日志中看到了大量的子选择。所以它从tableA中选择一条记录,然后运行一个sparate select来获取表Ab和C.为什么? FectchMode.JOIN没有帮助。我需要一个单一的SQL,我可以在数据库工具中成功运行它。如何在HQL中做到这一点?

0 个答案:

没有答案