我可以使用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
运算符用于原生查询吗?
答案 0 :(得分:1)
根据定义,本机查询是SQL查询。它必须包含特定数据库的有效SQL。
查询将返回List<Object[]>
,迭代列表并为每个FreeLocation
数组创建Object[]
的新实例应该是微不足道的。