从本机查询编写JPA查询

时间:2014-09-17 04:54:12

标签: jpa jpa-2.0 jpa-2.1 nativequery

我想从本机查询编写JPA查询。 Native查询如下:

select alias.fname 
from (select name, fname, lname from student) alias 
where student_id='1';

我无法从此创建JPA查询,任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

查看JPQL docsHibernate docs,不支持WHERE子句中的子查询。您可以选择以下任一选项:

  1. 将您的查询简化为select fname from student where student_id='1'(我认为这不是您的真实查询)。
  2. 如果可能,将您的查询转换为使用JOIN,或
  3. 使用JPA EntityManager.createNativeQuery()方法执行本机查询。 (除非你真的不能简化你的查询,否则最不受欢迎。)