Spring Data JPA 是否有任何方法可以使用方法名称解析来计算实体?

新手上路,请多包涵

Spring Data JPA 支持使用规范对实体进行计数。但是它有什么方法可以使用方法名称解析来计算实体吗?假设我想要一个方法 countByName 来计算具有特定名称的实体,就像一个方法 findByName 来获取所有具有特定名称的实体。

原文由 YaoFeng 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 657
1 个回答

Spring Data 1.7.1.RELEASE 开始,您可以使用两种不同的方式来完成,

  1. _新方法_,对计数和删除查询使用查询派生。阅读 本文,(示例 5)。例子,
     public interface UserRepository extends CrudRepository<User, Integer> {
        long countByName(String name);
    }

  1. _旧方法_,使用 @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);
}

也检查 this so answer

原文由 Georgios Syngouroglou 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题