Spring Data JPA是一个用于简化与数据库交互的框架。它提供了一种简单的方法来执行各种查询操作,包括Exists查询。Exists查询用于检查数据库中是否存在满足特定条件的记录。Spring Data JPA通过使用Exists关键字和自动生成的方法来实现这种查询。使用Exists查询可以提高性能并减少代码量。

17 浏览
0 Comments

Spring Data JPA是一个用于简化与数据库交互的框架。它提供了一种简单的方法来执行各种查询操作,包括Exists查询。Exists查询用于检查数据库中是否存在满足特定条件的记录。Spring Data JPA通过使用Exists关键字和自动生成的方法来实现这种查询。使用Exists查询可以提高性能并减少代码量。

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

public interface MyEntityRepository extends CrudRepository {
  @Query("select count(e) from MyEntity e where ...")
  public boolean existsIfBlaBla(@Param("id") String id);
}

当我运行这个查询时,我得到一个java.lang.ClassCastException: java.lang.Long无法强制转换为java.lang.Boolean

HQL查询应该如何才能使它工作?我知道我可以简单地返回一个Long值,然后在我的Java代码中检查count > 0,但这个解决方法应该是不必要的,对吗?

0