关联的实体管理器已关闭!休眠环境

The associated entity manager is closed! Hibernate envers

我正在使用 Hibernate envers 尝试从 Audit table 检索审计记录,但发现异常 关联的实体管理器已关闭!休眠。这是给出异常的代码。

public void returnUserAudit(){
        AuditReader auditReader = AuditReaderFactory.get(entityManager);
        return auditReader.createQuery().forRevisionsOfEntity(UserDetails.class, true, true)
                .add(AuditEntity.property("userDetails.userId").eq(appId)).
                add(AuditEntity.property("userDetails.email").eq(deplymntId)).
                add(AuditEntity.property("status").eq("Approved")).
                addOrder(AuditEntity.revisionNumber().desc()).
                setMaxResults(recordLimit).getResultList();
}

java.lang.IllegalStateException: The associated entity manager is closed!
at org.hibernate.envers.internal.reader.AuditReaderImpl.checkSession(AuditReaderImpl.java:65) ~[hibernate-envers-5.3.10.Final.jar!/:5.3.10.Final]
at org.hibernate.envers.internal.reader.AuditReaderImpl.isEntityNameAudited(AuditReaderImpl.java:306) ~[hibernate-envers-5.3.10.Final.jar!/:5.3.10.Final]
at org.hibernate.envers.query.AuditQueryCreator.checkEntityAudited(AuditQueryCreator.java:346) ~[hibernate-envers-5.3.10.Final.jar!/:5.3.10.Final]
at org.hibernate.envers.query.AuditQueryCreator.forRevisionsOfEntity(AuditQueryCreator.java:169) ~[hibernate-envers-5.3.10.Final.jar!/:5.3.10.Final]

我会检查您 entityManager 的使用模式。您要么在某个时候缓存了一个打开的 EM 实例,并在其关闭后尝试重用它,要么该实例一开始就没有正确打开。无论哪种情况,这都表示用户错误,而不是 Envers 错误。