【发布时间】:2015-08-04 04:57:46
【问题描述】:
我正在使用 Spring Data JPA(将 Hibernate 作为我的 JPA 提供程序)并希望定义一个带有 HQL 查询的 exists 方法:
public interface MyEntityRepository extends CrudRepository<MyEntity, String> {
@Query("select count(e) from MyEntity e where ...")
public boolean existsIfBlaBla(@Param("id") String id);
}
当我运行这个查询时,我得到一个java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Boolean。
HQL 查询必须看起来如何才能使其工作?我知道我可以简单地返回一个 Long 值,然后在 count > 0 时检查我的 Java 代码,但这种解决方法应该不是必需的,对吧?
【问题讨论】:
-
显然你可以改变你的 JPQL 查询以返回一个布尔值 ... 通过不返回 "count(e)" 而返回一个布尔表达式
标签: java hibernate jpa spring-data jpql