有没有办法在不应用存储库基类的情况下使用存储库?
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);
否则,如果您想使用不同的repositoryBaseClass
es,则需要create different configurations(与@Configuration
)。
【讨论】:
并且可能会调整组件扫描,因此Configuration
和repositoryBaseClass = CommonRepository.class
不会选择特定的其他Repository
嗯,是的,我没有想到不使用弹簧做某事:)以上是关于有没有办法在不应用存储库基类的情况下使用存储库?的主要内容,如果未能解决你的问题,请参考以下文章
使用 C++ 定义接口(在不丢失基类的所有重载运算符的情况下派生)
基类有没有办法在不污染 .h 文件的情况下声明受保护的变量?
在不知道所有者的情况下通过 API 找到 GitHub 存储库