我有以下情况:
在dao课程中:
...
Query q = em.createNamedQuery("myQuery");
q.setParameter("attr", "value");
List<MyObj> listMyObj = q.getResultList();
...
在我的文件orm.xlm中,我定义了这个查询:
<named-query name="myQuery">
<query><![CDATA[
select m from MyEntity1
where id_est in (select mm.id from MyEntity2 where mm.id_est = :attr)
]]></query>
</named-query>
一切正常,没有配置问题和/或代码,但是这个查询返回0个元素,当在sql中执行相同的查询返回预期的项目时。为什么?我在JPQL中忽略了什么?
答案 0 :(得分:0)
在这种情况下,如果设置参数时mm.id_est是一个字符串,请不要使用
" 'value' "
但请使用
" value "
......这是我的问题。幸运的是,感谢这篇文章,我意识到在我的代码中我写的是我在StackOverflow上写的