
org.hibernate.envers.boot.internal.LegacyModifiedColumnNamingStrategy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-envers Show documentation
Show all versions of hibernate-envers Show documentation
Hibernate's entity version (audit/history) support
The newest version!
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright Red Hat Inc. and Hibernate Authors
*/
package org.hibernate.envers.boot.internal;
import org.hibernate.envers.boot.model.AttributeContainer;
import org.hibernate.envers.boot.spi.ModifiedColumnNamingStrategy;
import org.hibernate.envers.configuration.Configuration;
import org.hibernate.envers.configuration.internal.metadata.reader.PropertyAuditingData;
import org.hibernate.mapping.Value;
/**
* A {@link ModifiedColumnNamingStrategy} that adds modified columns with the following rules:
*
* - If an audit annotation modified column name is supplied, use it directly with no suffix.
* - If no audit annotation modified column name is present, use the property name appended with suffix.
*
*
* This is the default Envers modified column naming behavior.
*
* @author Chris Cranford
* @since 5.4.7
*/
public class LegacyModifiedColumnNamingStrategy extends AbstractModifiedColumnNamingStrategy {
@Override
public void addModifiedColumns(
Configuration configuration,
Value value,
AttributeContainer mapping,
PropertyAuditingData propertyAuditingData) {
final String columnName;
if ( propertyAuditingData.isModifiedFlagNameExplicitlySpecified() ) {
columnName = propertyAuditingData.getExplicitModifiedFlagName();
}
else {
columnName = propertyAuditingData.getModifiedFlagName();
}
mapping.addAttribute( createModifiedFlagAttribute( propertyAuditingData, configuration, columnName ) );
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy