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

org.hibernate.envers.enhanced.OrderedSequenceGenerator Maven / Gradle / Ivy

package org.hibernate.envers.enhanced;

import org.hibernate.HibernateException;
import org.hibernate.dialect.Dialect;
import org.hibernate.dialect.Oracle8iDialect;
import org.hibernate.id.enhanced.SequenceStyleGenerator;
import org.hibernate.internal.util.StringHelper;

/**
 * Revision number generator has to produce values in ascending order (gaps may occur).
 * @author Lukasz Antoniak (lukasz dot antoniak at gmail dot com)
 */
public class OrderedSequenceGenerator extends SequenceStyleGenerator {
	@Override
	public String[] sqlCreateStrings(Dialect dialect) throws HibernateException {
		String[] create = super.sqlCreateStrings( dialect );
		if ( dialect instanceof Oracle8iDialect ) {
			// Make sure that sequence produces increasing values in Oracle RAC environment.
			create = StringHelper.suffix( create, " order" );
		}
		return create;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy