Spring Data JPA是否可以使用方法名称解析来计数实体?
Spring Data JPA支持使用规范对实体进行计数。但是,它有什么方法可以使用方法名称解析来计数实体?假设我要一种方法countByName
来计算具有特定名称的实体,就像findByName
获取所有具有特定名称的实体的方法一样。
回答:
从Spring Data 1.7.1.RELEASE开始,你可以使用两种不同的方法来实现它,
1)新方法,对计数和删除查询都使用查询派生。例,
public interface UserRepository extends CrudRepository<User, Integer> { Long countByName(String name);
}
2)旧方法,使用@Query注释。
例,
public interface UserRepository extends CrudRepository<User, Integer> { @Query("SELECT COUNT(u) FROM User u WHERE u.name=?1")
Long aMethodNameOrSomething(String name);
}
或也使用@Param注释,
public interface UserRepository extends CrudRepository<User, Integer> { @Query("SELECT COUNT(u) FROM User u WHERE u.name=:name")
Long aMethodNameOrSomething(@Param("name") String name);
}
以上是 Spring Data JPA是否可以使用方法名称解析来计数实体? 的全部内容, 来源链接: utcz.com/qa/407314.html