Spring Data JPA和存在查询

我正在使用Spring Data JPA(以Hibernate作为我的JPA提供程序),并且想定义一个exists附加了HQL查询的方法:

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值,然后在Java代码中检查if count > 0,但是这种解决方法不是必需的,对吧?

回答:

我认为您可以简单地更改查询以将布尔值返回为

@Query("select count(e)>0 from MyEntity e where ...")

PS:如果您要检查是否存在基于主键值的CrudRepository已有exists(id)方法。

以上是 Spring Data JPA和存在查询 的全部内容, 来源链接: utcz.com/qa/418208.html

回到顶部