【问题标题】:How to add custom method to Spring repository?如何将自定义方法添加到 Spring 存储库?
【发布时间】:2016-05-14 05:30:44
【问题描述】:

目前,这是我将自定义方法添加到一个 Spring 存储库的方法: - 首先,创建 1 个从 JPARepository 扩展的接口以及我的接口,如下所示

interface MyRepository extends extends JpaRepository<Model, ID>, QueryDslPredicateExecutor<Model.class>, MyRepositoryCustom

然后创建 MyRepositoryCustom 接口及其实现

intefaces MyRepositoryCustom{
     void myMethodHere();
}

class MyRepositoryImpl implement MyRepositoryCustom {

   void myMethodHere(){
    // do somethong
    }
}

现在的问题是我想减少类的数量,那么有没有办法添加只有1个接口和1个实现类的自定义方法。

【问题讨论】:

  • 这个问题需要拼写更正才能理解
  • 如果我正确理解了这个问题,那么您可以为您想要的每个存储库重用自定义实现 MyRepositoryImpl 类。只需将MyRepositoryCustom 接口添加到该存储库,spring 将自动使用实现类 `MyRepositoryImpl' 用于自定义方法。无需为相同的自定义方法创建新的接口和类。

标签: spring methods repository spring-data-jpa


【解决方案1】:

如果您想为应用中的所有存储库实现相同的自定义方法,您必须:

  1. 通过扩展存储库接口创建基础存储库接口
  2. 在基础存储库接口中实现方法
  3. 实现自定义RepositoryFactoryBean
  4. 在配置中的@EnableJpaRepositories注解中指定自定义RepositoryFactoryBean

更多细节,例如,你可以在这里找到:http://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-adding-custom-methods-into-all-repositories/

【讨论】:

  • 这不是我真正想要的。我只想向特定的存储库添加一些方法。但是现在存储库的数量很大。所以与此同时,我想删除一些类。
猜你喜欢
  • 1970-01-01
  • 2018-01-05
  • 2017-12-03
  • 2016-03-06
  • 2012-08-06
  • 2017-06-18
  • 2016-07-10
相关资源
最近更新 更多