java - 在 jpql select 中指定列会导致转换错误

标签 java jpa jpql

当我在 jpql/jpa 2.0 查询中指定列时,即 select p.id, p.lastName, p.firstName from Profile p where p.group = :group 我收到以下错误: [Ljava.lang.Object;无法转换为 com.profs.ws.Profile... 任何人都知道如何解决此转换问题?

Profile 实体类本身具有以下类型的属性:String、int 和 Collection。我在查询中选择的属性是 Stringint 类型。

最佳答案

当您指定对象的属性时,JPA 返回 Object[] 的列表.您可以将返回值转换为 List<Object[]而不是 List<Profile>避免 ClassCastException .如果您使用 Hibernate 作为 JPA 提供者,您可以将 select 子句映射到一个新对象。参见 select clause有关详细信息的文档。

关于java - 在 jpql select 中指定列会导致转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4235573/

相关文章:

java - 使用 JPA 保留 1 列表

JavaFX:将新对象链接到控件

java - 如何处理 Java URL 映射太多而无法手写

java - 数据报接收方法因超时而被阻止

java - WEB-INF 在 CLASSPATH 中吗?

java - 具有单表继承的 JPA 存储库( hibernate )

java - Spring数据持久化列user1_.id不存在异常

java - Spring JPA 多线程

java - (优雅地)在 JPQL 中查询匹配天数

JPQL NEW 运算符与 native 查询?