有没有办法在不应用存储库基类的情况下使用存储库?

Posted

技术标签:

【中文标题】有没有办法在不应用存储库基类的情况下使用存储库?【英文标题】:Is there a way to use a repository without applying repository base class? 【发布时间】:2019-09-15 17:01:16 【问题描述】:

我有一个带有 @EnableJpaRepositories(repositoryBaseClass = CommonRepository.class) 注释的 Spring Boot 应用程序。 几乎所有的存储库都需要实现一些使用repositoryBaseClass 完成的自定义逻辑。

有没有办法创建将被排除在repositoryBaseClass 机制之外的存储库?

【问题讨论】:

【参考方案1】:

您可以编写一个不实现 Spring Data JPA Repository 接口之一的存储库。本质上,您会像没有 Spring Data JPA 那样编写存储库。

public class YourRepo /* No Spring Data interface here! */  

    @Autowired
    private EntityManger entityManager;

    public add(Something entity) 
        entityManager.merge(entity);
    

否则,如果您想使用不同的repositoryBaseClasses,则需要create different configurations(与@Configuration)。

【讨论】:

并且可能会调整组件扫描,因此ConfigurationrepositoryBaseClass = CommonRepository.class 不会选择特定的其他Repository 嗯,是的,我没有想到不使用弹簧做某事:)

以上是关于有没有办法在不应用存储库基类的情况下使用存储库?的主要内容,如果未能解决你的问题,请参考以下文章

使用 C++ 定义接口(在不丢失基类的所有重载运算符的情况下派生)

基类有没有办法在不污染 .h 文件的情况下声明受保护的变量?

在不知道所有者的情况下通过 API 找到 GitHub 存储库

有没有办法在不向表格元素添加类的情况下将 css 应用于元素? [复制]

将类的任何模板存储在另一个类中

如何在不首先克隆的情况下“连接”一个 git 存储库?