diff --git a/hibernate-envers/src/main/java/org/hibernate/envers/configuration/internal/metadata/reader/AuditedPropertiesReader.java b/hibernate-envers/src/main/java/org/hibernate/envers/configuration/internal/metadata/reader/AuditedPropertiesReader.java index 25494642b9e5..f10b42004f2c 100644 --- a/hibernate-envers/src/main/java/org/hibernate/envers/configuration/internal/metadata/reader/AuditedPropertiesReader.java +++ b/hibernate-envers/src/main/java/org/hibernate/envers/configuration/internal/metadata/reader/AuditedPropertiesReader.java @@ -14,6 +14,7 @@ import java.util.Map; import java.util.Set; import java.util.function.Function; +import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.JoinColumn; @@ -597,7 +598,19 @@ protected boolean checkAudited( propertyData.setStore( aud.modStore() ); propertyData.setRelationTargetAuditMode( aud.targetAuditMode() ); propertyData.setUsingModifiedFlag( checkUsingModifiedFlag( aud ) ); - propertyData.setModifiedFlagName( MetadataTools.getModifiedFlagPropertyName( propertyName, modifiedFlagSuffix ) ); + Column column = property.getAnnotation( Column.class ); + if(column != null){ + if(StringTools.isEmpty(column.name())){ + propertyData.setModifiedFlagName( MetadataTools.getModifiedFlagPropertyName( propertyName, modifiedFlagSuffix ) ); + } + else { + propertyData.setModifiedFlagName( MetadataTools.getModifiedFlagPropertyName( column.name(), modifiedFlagSuffix ) ); + } + } + else { + propertyData.setModifiedFlagName( MetadataTools.getModifiedFlagPropertyName( propertyName, modifiedFlagSuffix ) ); + } + if ( !StringTools.isEmpty( aud.modifiedColumnName() ) ) { propertyData.setExplicitModifiedFlagName( aud.modifiedColumnName() ); }