具有本机查询的JPQL NEW运算符?

时间:2012-12-20 11:24:11

标签: jpql

我可以使用NEW JPQL运算符来映射DTO内的查询结果吗?

我测试了这段代码:

Query query = em.createNativeQuery("SELECT NEW com.sim.dtos.entities.FreeLocation(t1.galaxie, t1.ss, t1.position) FROM ...");

List<FreeLocation> l = query.getResultList();

但我有例外:

  

[#| 2012-12-20T12:9:21.203 + 0100 |警告| glassfish3.1.2 | javax.enterprise.system.container.web.com.sun.enterprise.web | _ThreadID = 79; _ThreadName = Thread- 2; | StandardWrapperValve [Faces Servlet]:PWC1406:servlet的Servlet.service()Faces Servlet抛出异常   org.postgresql.util.PSQLException:ERREUR:erreur de syntaxe surouprèsde«。 »     位置:15

那么我可以将NEW运算符用于原生查询吗?

1 个答案:

答案 0 :(得分:1)

根据定义,本机查询是SQL查询。它必须包含特定数据库的有效SQL。

查询将返回List<Object[]>,迭代列表并为每个FreeLocation数组创建Object[]的新实例应该是微不足道的。

相关问题