从SQL到HQL

时间:2016-07-28 07:16:00

标签: java sql hibernate hql

我遇到了从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.

0 个答案:

没有答案