Java 如何禁用spring引导的envers审核
我正在创建一个maven多模块项目,其中一个模块仅用于hibernate实体,问题是两个服务/api/maven_项目使用同一个模块,但其中一个需要审核,而另一个不需要审核,我如何保持代码完整(意味着不更改或删除@Audited注释),如何在运行时或编译时启用或禁用envers审核, 因为在我尝试过的所有事情之后,审计对这两个api都有效 我试过了Java 如何禁用spring引导的envers审核,java,hibernate-envers,auditing,Java,Hibernate Envers,Auditing,我正在创建一个maven多模块项目,其中一个模块仅用于hibernate实体,问题是两个服务/api/maven_项目使用同一个模块,但其中一个需要审核,而另一个不需要审核,我如何保持代码完整(意味着不更改或删除@Audited注释),如何在运行时或编译时启用或禁用envers审核, 因为在我尝试过的所有事情之后,审计对这两个api都有效 我试过了 spring.jpa.properties.hibernate.integration.envers.enabled=false spring.jp
spring.jpa.properties.hibernate.integration.envers.enabled=false
spring.jpa.properties.hibernate.listeners.envers.autoRegister=false
spring.jpa.properties.hibernate.envers.autoRegisterListeners=false
hibernate.integration.envers.enabled=false
hibernate.listeners.envers.autoRegister=false
hibernate.envers.autoRegisterListeners=false
按照
我会做的
通过配置“非Spring数据JPA”Hibernate属性
spring.jpa.properties.hibernate.
是否可以排除不需要审核的模块的Envers依赖项?是的,Jens,但为了做到这一点,我必须更改所有具有@audited注释的实体类,我希望保留它们,以便在将来使用或启用它们,如果您将依赖项设置为,前提是它们不会包含在Spring Boot可执行JAR中,并且不会进行审核,但代码会编译。包含实体的模块将保留依赖项。字节码中存在的注释不是问题,因为在类路径中找不到的字节码中的注释会被忽略。感谢Simon和Jens,它工作得很好,但是否有其他选项可用于启用或禁用application.properties审核,因为当另一个子模块/服务启动后,过一段时间事情会变得一团糟像A->B->C一样引入,其中A是实体模块B是服务(启用或禁用审核),C是另一个以B作为依赖项的服务(并且C具有启用或禁用B审核的能力),只是想以某种方式保持配置集中
spring.jpa.properties.hibernate.integration.envers.enabled=false