Hibernate Envers 6.4.1:静态元模型字段注入的非法参数

zed*_*doo 9 hibernate-envers spring-data-envers

我迁移到 Hibernate 6.4.1(通过 Spring Boot 3.2.1),我的应用程序记录了一个以前不存在的错误:

2024-01-03T15:49:10.361+01:00 ERROR 81857 --- [           main] 
o.h.metamodel.internal.MetadataContext   : 
HHH015007: Illegal argument on static metamodel field injection : 
org.hibernate.envers.DefaultRevisionEntity_#class_; expected type :  
org.hibernate.metamodel.model.domain.internal.EntityTypeImpl; encountered type : 
jakarta.persistence.metamodel.MappedSuperclassType

Run Code Online (Sandbox Code Playgroud)

我可以通过从 spring data envers 文档中复制代码来用一个最小的示例来重现此内容: https ://docs.spring.io/spring-data/jpa/reference/envers/configuration.html

我还可以通过运行 spring-data-envers 示例来重现这一点: https://github.com/spring-projects/spring-data-examples/blob/main/jpa/envers/pom.xml

我还可以通过运行https://github.com/hibernate/hibernate-orm/blob/main/hibernate-envers/src/test/java/org/hibernate/orm/test/envers/DefaultAuditTest.java来重现此内容

创建问题https://hibernate.atlassian.net/jira/software/c/projects/HHH/boards/31?selectedIssue=HHH-17612

小智 3

就我而言,使用@Auditedhibernate envers 的注释导致了错误。我通过删除依赖项implementation "org.hibernate:hibernate-envers"并添加implementation "org.hibernate:hibernate-envers-jakarta:5.6.15.Final".