Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 将sql转换为子查询中有限制的hql_Hibernate_Hql - Fatal编程技术网

Hibernate 将sql转换为子查询中有限制的hql

Hibernate 将sql转换为子查询中有限制的hql,hibernate,hql,Hibernate,Hql,我有以下sql,但目前无法转换。 我在次选择的极限处停了下来。有人能帮我吗 select( select p2.numnfe from xml_itens as p2 where p2.cod_prod_cli is null and p2.ean_prod = p1.ean_prod and p2.cnpj_for = p1.cnpj_for and p2.cod_prod_for = p1.cod_prod_for and p2.cfop != 5929 and 6929 LIMIT 1 )

我有以下sql,但目前无法转换。 我在次选择的极限处停了下来。有人能帮我吗

select( select p2.numnfe from xml_itens as p2
where p2.cod_prod_cli is null
and p2.ean_prod = p1.ean_prod
and p2.cnpj_for = p1.cnpj_for
and p2.cod_prod_for = p1.cod_prod_for
and p2.cfop != 5929 and 6929
LIMIT 1
) as num_nfe,
(SELECT descricao_prod from xml_itens as p2
where p2.cod_prod_cli is null
and p2.ean_prod = p1.ean_prod
and p2.cnpj_for = p1.cnpj_for
and p2.cod_prod_for = p1.cod_prod_for
and p2.cfop != 5929 and 6929
LIMIT 1
) as descricao_prod, 
cnpj_for, ean_prod, cod_prod_for, cod_prod_cli
from xml_itens as p1 
where cod_prod_cli is null
and p1.cfop != 5929 and 6929 
group by cnpj_for, ean_prod, cod_prod_for;
我设法做到了,但及时地从数据库中只返回了一条记录

 String sql = "select ("
            + " select p2.numnfe from XmlItens p2 where p2.codProdCli is null and p2.eanProd = p1.eanProd and p2.cnpjFor = p1.cnpjFor and p2.cfop != 5929 and p2.cfop != 6929) as numnfe, "
            + " p1.cnpjFor, p1.eanProd, p1.codProdFor from XmlItens p1 "
            + " where p1.codProdCli is null "
            + " group by p1.cnpjFor, p1.eanProd, p1.codProdFor";

谢谢

我找不到任何替代LMIT sql的东西。因此,我没有转换查询,而是使用函数
createsqlquery()
hibernate,它成功了。

不管hibernate团队在这一更改背后的推理,我无法告诉您这有多令人沮丧

也就是说,用EXIST关键字来创造。在本例中,我们希望限制为1。选择前1名等。。EXIST可能是您唯一的非本机解决方案