/*
* $Id$
*
* Copyright 2006 University of Dundee. All rights reserved.
* Use is subject to license terms supplied in LICENSE.txt
*/
package ome.tools.hibernate;
import java.util.Properties;
import org.hibernate.MappingException;
import org.hibernate.dialect.Dialect;
import org.hibernate.id.PersistentIdentifierGenerator;
import org.hibernate.id.SequenceGenerator;
import org.hibernate.type.Type;
/**
* http://www.hibernate.org/296.html
*
* @author josh
*
*/
public class MySeqGenerator extends SequenceGenerator {
/**
* If the parameters do not contain a {@link SequenceGenerator#SEQUENCE}
* name, we assign one based on the table name.
*/
@Override
public void configure(Type type, Properties params, Dialect dialect)
throws MappingException {
if (params.getProperty(SEQUENCE) == null
|| params.getProperty(SEQUENCE).length() == 0) {
String tableName = params
.getProperty(PersistentIdentifierGenerator.TABLE);
if (tableName != null) {
String seqName = "seq_" + tableName;
params.setProperty(SEQUENCE, seqName);
}
}
super.configure(type, params, dialect);
}
}