我有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中做到这一点?