@@ -824,15 +824,28 @@ private static <X> void injectField(
824
824
// + "; expected type : " + attribute.getClass().getName()
825
825
// + "; encountered type : " + field.getType().getName()
826
826
// );
827
- LOG .illegalArgumentOnStaticMetamodelFieldInjection (
828
- metamodelClass .getName (),
829
- name ,
830
- model .getClass ().getName (),
831
- field .getType ().getName ()
832
- );
827
+ // Avoid logging an error for Enver's default revision classes that are both entities and mapped-supers.
828
+ // This is a workaround for https://hibernate.atlassian.net/browse/HHH-17612
829
+ if ( !isDefaultEnversRevisionType ( metamodelClass ) ) {
830
+ LOG .illegalArgumentOnStaticMetamodelFieldInjection (
831
+ metamodelClass .getName (),
832
+ name ,
833
+ model .getClass ().getName (),
834
+ field .getType ().getName ()
835
+ );
836
+ }
833
837
}
834
838
}
835
839
840
+ private static boolean isDefaultEnversRevisionType (Class <?> metamodelClass ) {
841
+ return Set .of (
842
+ "org.hibernate.envers.DefaultRevisionEntity_" ,
843
+ "org.hibernate.envers.DefaultTrackingModifiedEntitiesRevisionEntity_" ,
844
+ "org.hibernate.envers.enhanced.SequenceIdRevisionEntity_" ,
845
+ "org.hibernate.envers.enhanced.SequenceIdTrackingModifiedEntitiesRevisionEntity_"
846
+ ).contains ( metamodelClass .getName () );
847
+ }
848
+
836
849
public MappedSuperclassDomainType <?> locateMappedSuperclassType (MappedSuperclass mappedSuperclass ) {
837
850
return mappedSuperclassByMappedSuperclassMapping .get ( mappedSuperclass );
838
851
}
0 commit comments