当前位置: 首页 > 知识库问答 >
问题:

为什么AuditReader不能自动连接到存储库中

金高轩
2023-03-14

在我的springbootapp中,我有以下存储库:-

@Repository
public class RevisionRepository {

private AuditReader auditReader;

public RevisionRepository(AuditReader auditReader) {
    this.auditReader = auditReader;
  }
}

当我运行这个应用程序时。我收到了这个错误:-

启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2020-12-24 21:09:15 -

应用程序启动失败

说明:

com中构造函数的参数0。如何使用Java。演示。存储库。RevisionRepository需要“org”类型的bean。冬眠恩弗斯。找不到AuditReader。

行动:

考虑定义“org”类型的bean。冬眠恩弗斯。AuditReader在您的配置中。

我该怎么做?

共有2个答案

薛云瀚
2023-03-14

接受的答案对我来说不起作用,因为应用程序运行一段时间后,它开始抛出java。网由于连接已关闭,SocketException。

我通过以下方式解决了这个问题:

>

  • 使用@PersistenceContext连接EntityManager

    每次获取AuditReader的新实例

    public class AuditRepository {
    
    @PersistenceContext
    private EntityManager entityManager;
    
    private AuditReader getAuditReader() {
        return AuditReaderFactory.get(entityManager);
    }
    
    public Optional<T> getRevision() {
        final AuditReader auditReader = getAuditReader();
        ...
    }
    

  • 景品
    2023-03-14

    这解决了我的问题。希望它能对其他人有所帮助:-

    @Configuration
    public class RevisionConfiguration {
    
    @Autowired
    private AuditReader auditReader;
    
    private final EntityManagerFactory entityManagerFactory;
    
    public RevisionConfiguration(EntityManagerFactory entityManagerFactory) {
        this.entityManagerFactory = entityManagerFactory;
    }
    
    @Bean
    AuditReader auditReader() {
        return AuditReaderFactory.get(entityManagerFactory.createEntityManager());
      }
    }
    
     类似资料:
    • 我正在尝试使用python和MySQL开发药房管理系统。但我在连接数据库时遇到了问题。 下面是一些代码:

    • 问题内容: 我正在尝试使用GIT插件Jenkins拉出GIT的代码形式,并且该作业正在从属计算机上运行。 系统有 在系统中没有定义。 每当我在计算机上本地执行git clone时,它都能完美运行,但是从Jenkins那里我并没有成功。 它抛出以下错误: 是因为系统试图设置系统中不存在的http代理? 如果是,该如何预防? 或者,还有其他我想念的东西吗? 问题答案: 原来这是一个代理问题。 使用Je

    • 我正在尝试使用python和MySQL开发药房管理系统。但我在连接数据库时遇到了问题。 下面是一些代码:

    • 当我编写一些spring代码时,我使用了带有class和annotation-config的Spring4。我已经声明一个bean将接口实现为组件。我正在尝试制作另一个bean来依赖于它的接口时间。但它不起作用,因为spring抛出一个错误,在该名称中找不到bean。我想这可能是因为只靠和实体类的自动电线工作,但我不知道为什么它会这样设置?有人能解释为什么依赖注释不允许类型自动连接到接口吗? 简单

    • 启动ApplicationContext时出错。若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2020-06-19 21:37:34.254错误11296---[restartedMain]O.S.Boot.SpringApplication:应用程序运行失败 输入图像描述这里输入图像描述