org.hibernate.tool.EnversSchemaGenerator Maven / Gradle / Ivy
package org.hibernate.tool;
import java.sql.Connection;
import java.util.Properties;
import org.hibernate.HibernateException;
import org.hibernate.cfg.Configuration;
import org.hibernate.envers.configuration.AuditConfiguration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.tool.hbm2ddl.SchemaExport;
/**
* @author Lukasz Antoniak (lukasz dot antoniak at gmail dot com)
*/
public class EnversSchemaGenerator {
private final SchemaExport export;
public EnversSchemaGenerator(ServiceRegistry serviceRegistry, Configuration configuration) {
configuration = configureAuditing(configuration);
export = new SchemaExport(serviceRegistry, configuration);
}
public EnversSchemaGenerator(Configuration configuration) {
configuration = configureAuditing(configuration);
export = new SchemaExport(configuration);
}
public EnversSchemaGenerator(Configuration configuration, Properties properties) throws HibernateException {
configuration = configureAuditing(configuration);
export = new SchemaExport(configuration, properties);
}
public EnversSchemaGenerator(Configuration configuration, Connection connection) throws HibernateException {
configuration = configureAuditing(configuration);
export = new SchemaExport(configuration, connection);
}
public SchemaExport export() {
return export;
}
private Configuration configureAuditing(Configuration configuration) {
configuration.buildMappings();
AuditConfiguration.getFor(configuration);
return configuration;
}
}