All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.envers.boot.internal.LegacyModifiedColumnNamingStrategy Maven / Gradle / Ivy

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