Does Spring Data JPA have any way to count entites using method name resolving?

后端 未结 12 935
耶瑟儿~
耶瑟儿~ 2020-12-04 08:38

Spring Data JPA supports counting entities using specifications. But does it have any way to count entities using method name resolving? Let\'s say I want a method cou

12条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-04 09:10

    As of Spring Data 1.7.1.RELEASE you can do it with two different ways,

    1) The new way, using query derivation for both count and delete queries. Read this, (Example 5). Example,

    public interface UserRepository extends CrudRepository {
        Long countByName(String name);
    }
    

    2) The old way, Using @Query annotation.
    Example,

    public interface UserRepository extends CrudRepository {
        @Query("SELECT COUNT(u) FROM User u WHERE u.name=?1")
        Long aMethodNameOrSomething(String name);
    }
    

    or using @Param annotation also,

    public interface UserRepository extends CrudRepository {
        @Query("SELECT COUNT(u) FROM User u WHERE u.name=:name")
        Long aMethodNameOrSomething(@Param("name") String name);
    }
    

    Check also this so answer.

提交回复
热议问题