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

回到顶部