0

如果我们说我有正确的映射、dtos(pojo) 和配置文件,我该如何在 HQL 中表达这个 SQL 查询......

    select * from sig_tc_contraloria_objetivos o  
    inner join sig_tc_contraloria_iniciativas i on o.id_objetivo = i.id_objetivo  
    inner join sig_tc_contraloria_acciones a on i.id_iniciativa = a.id_iniciativa  
    where a.id_organizacion = 8; 

结果,我希望得到一个对象列表(父)-> Iniciativas(子)-> Acciones(子)

我是这样尝试的:

String sql = "select distinct p from SigTcContraloriaObjetivos p join p.children c join c.children b where b.idOrganizacion = 8";
4

1 回答 1

0

假设正确的映射和配置,以下应该可以工作

String sql = "select distinct p from SigTcContraloriaObjetivos p join p.children c join c.children b where b.idOrganizacion = 8";

区别在于 where 子句。你有一个and权利where,那是非法的语法。

于 2013-06-06T21:24:27.907 回答