最佳答案
我正在使用 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 代码,但是这种变通方法应该是不必要的,对吗?