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

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

There is a newer version: 7.0.0.Beta2
Show newest version
/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or .
 */
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 - 2024 Weber Informatics LLC | Privacy Policy