Spring数据JPA http://static.springsource.org/spring-data/data-jpa/docs/1.1.0.RELEASE/reference/html/支持使用规范对实体进行计数。但是它有什么方法可以使用方法名称解析来计算实体数量吗?假设我想要一个方法countByName
计算具有特定名称的实体,就像方法一样findByName
获取具有特定名称的所有实体。
As of Spring数据1.7.1.RELEASE你可以用两种不同的方式来做到这一点,
- The new way,对计数和删除查询使用查询派生。读this http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.core-concepts,(示例5)。
例子,
public interface UserRepository extends CrudRepository<User, Integer> {
long countByName(String name);
}
- The old way, Using
@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);
}
还检查这就是答案 https://stackoverflow.com/questions/48520827/use-queryhint-when-using-jpaspecificationexecutor/48541323#48541323.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)