我遇到了从SQL到Hibernate HQL的以下查询问题:
select
(lot of things from table 1)
from
table1
inner join
table2 on table1.investigationEvent = table2.id_investigationEvent
inner join
table3 on table2.eventSection = table3.sectionEventsCod
inner join
table4 on table3.sectionEventsCod = table4.investigationSectionEvent
在HQL中我写了这个:
Select blabla
+ "FROM table1 t1 "
+ "INNER JOIN t1.investigationEvent t2 "
+ "INNER JOIN t2.eventSection t3 , "
+ "table4 t4
INNER JOIN t4.investigationSectionEvent t3 "
+ "WHERE iset.typology.idTypology = :idTypology "
+ "WHERE ast.typology.idTypology = :idTypology ";
问题是,使用这种语法,我可以通过以下方式进行连接:
表1 - >表2
表2 - >表3
但我无法进行加入
表3 - >表4
因为表3 bean没有任何属性可以转到表4 bean。但是,可能会发生相反的情况:
表4 - >表3(因为表4包含属性表3 bean)
问题是:使用这种语法我必须调用第二个FROM(table4,从我的hql查询中可以看到)。你能解决我的问题吗?我必须使查询只使用FROM调用第一个表,然后使用所有JOIN。
这是一些豆子:
Table 1 {
...
Table 2 investigationEvent; }
Table 2 {
...
Table 3 eventSection
然后
Table 4{
...
Table3 investigationSectionEvent; }
问题是表3不包含表4.