@@ -824,15 +824,28 @@ private static <X> void injectField(
824824// + "; expected type : " + attribute.getClass().getName()
825825// + "; encountered type : " + field.getType().getName()
826826// );
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+ }
833837 }
834838 }
835839
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+
836849 public MappedSuperclassDomainType <?> locateMappedSuperclassType (MappedSuperclass mappedSuperclass ) {
837850 return mappedSuperclassByMappedSuperclassMapping .get ( mappedSuperclass );
838851 }
0 commit comments