没有找到JPQL和clausole IN

时间:2011-09-28 15:40:56

标签: java jpa-2.0 jpql

我有以下情况:

在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中忽略了什么?

1 个答案:

答案 0 :(得分:0)

在这种情况下,如果设置参数时mm.id_est是一个字符串,请不要使用

" 'value' " 

但请使用

" value "

......这是我的问题。幸运的是,感谢这篇文章,我意识到在我的代码中我写的是我在StackOverflow上写的