本文整理汇总了Java中org.hibernate.tool.hbm2ddl.SchemaUpdate类的典型用法代码示例。如果您正苦于以下问题:Java SchemaUpdate类的具体用法?Java SchemaUpdate怎么用?Java SchemaUpdate使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
SchemaUpdate类属于org.hibernate.tool.hbm2ddl包,在下文中一共展示了SchemaUpdate类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testSimpleColumnAddition
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
public void testSimpleColumnAddition() {
String resource1 = "org/hibernate/test/schemaupdate/1_Version.hbm.xml";
String resource2 = "org/hibernate/test/schemaupdate/2_Version.hbm.xml";
Configuration v1cfg = new Configuration();
v1cfg.addResource( resource1 );
new SchemaExport( v1cfg ).execute( false, true, true, false );
SchemaUpdate v1schemaUpdate = new SchemaUpdate( v1cfg );
v1schemaUpdate.execute( true, true );
assertEquals( 0, v1schemaUpdate.getExceptions().size() );
Configuration v2cfg = new Configuration();
v2cfg.addResource( resource2 );
SchemaUpdate v2schemaUpdate = new SchemaUpdate( v2cfg );
v2schemaUpdate.execute( true, true );
assertEquals( 0, v2schemaUpdate.getExceptions().size() );
}
示例2: schemaExport
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
private static void schemaExport(Log log,Configuration configuration, DatasourceConnection dc, SessionFactoryData data) throws PageException, SQLException, IOException {
ORMConfiguration ormConf = data.getORMConfiguration();
if(ORMConfiguration.DBCREATE_NONE==ormConf.getDbCreate()) {
return;
}
else if(ORMConfiguration.DBCREATE_DROP_CREATE==ormConf.getDbCreate()) {
SchemaExport export = new SchemaExport(configuration);
export.setHaltOnError(true);
export.execute(false,true,false,false);
printError(log,data,export.getExceptions(),false);
executeSQLScript(ormConf,dc);
}
else if(ORMConfiguration.DBCREATE_UPDATE==ormConf.getDbCreate()) {
SchemaUpdate update = new SchemaUpdate(configuration);
update.setHaltOnError(true);
update.execute(false, true);
printError(log,data,update.getExceptions(),false);
}
}
示例3: initialise
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
protected SessionFactory initialise(boolean journalising) throws YPersistenceException {
Configuration cfg;
// Create the Hibernate config, check and create database if required,
// and generally set things up .....
if (journalising) {
try {
cfg = new Configuration();
for (Class persistedClass : persistedClasses) {
cfg.addClass(persistedClass);
}
factory = cfg.buildSessionFactory();
new SchemaUpdate(cfg).execute(false, true);
setEnabled(true);
} catch (Exception e) {
e.printStackTrace();
logger.fatal("Failure initialising persistence layer", e);
throw new YPersistenceException("Failure initialising persistence layer", e);
}
}
return factory;
}
示例4: init
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
/**
* Initializes the hibernate system.
*/
public static void init() {
logger.debug("Initializing hibernate...");
Configuration configuration = new Configuration().configure();
logger.debug("Performing schema update");
new SchemaUpdate(configuration).execute(true, true);
ServiceRegistry serviceRegistry =
new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
logger.debug("Hibernate initialized");
}
示例5: updateSchema
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
public void updateSchema() {
/**
* Loads the Hibernate configuration information, sets up
* the database and the Hibernate session factory.
*/
System.out.println("initialization");
try {
Configuration myConfiguration = new Configuration().configure();
// Load the *.hbm.xml files as set in the
// config, and set the dialect.
new SchemaUpdate(myConfiguration)
.execute(true, true);
} catch (Exception e) {
e.printStackTrace();
}
}
示例6: main
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
public static void main(String[] args) {
try {
DriverService driverService = CONNECTION_CONFIG.loadDriver();
HibernateDaoContext context = new HibernateDaoContext(driverService, ApplicationConfig.CONFIG);
// Stream.of(context.schemaCreationScript()).forEach(System.out::println);
new SchemaUpdate(context.configuration).execute(Target.SCRIPT);
} catch (Exception ex) {
ex.printStackTrace();
}
}
示例7: generateCreateAnUpdateDDL
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
@Test
public void generateCreateAnUpdateDDL() throws IOException {
logger.debug("Generate create and update DDL");
EntityManagerFactoryImpl emf = (EntityManagerFactoryImpl) lcemfb.getNativeEntityManagerFactory();
SessionFactoryImpl sf = emf.getSessionFactory();
SessionFactoryServiceRegistryImpl serviceRegistry = (SessionFactoryServiceRegistryImpl) sf.getServiceRegistry();
Configuration cfg = null;
try {
Field field = SessionFactoryServiceRegistryImpl.class.getDeclaredField("configuration");
field.setAccessible(true);
cfg = (Configuration) field.get(serviceRegistry);
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
throw new RuntimeException(e);
}
Files.createDirectories(Paths.get("target/db/migration/"));
SchemaUpdate update = new SchemaUpdate(serviceRegistry, cfg);
update.setDelimiter(";");
update.setOutputFile("target/db/migration/Vx__yy_zz.sql");
update.execute(false, false);
SchemaExport export = new SchemaExport(serviceRegistry, cfg);
export.setDelimiter(";");
export.setOutputFile("target/db/migration/create.sql");
export.execute(false, false, false, true);
}
示例8: testSchemaTools
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
public void testSchemaTools() throws Exception{
// database schema have been created thanks to the setUp method
// we have 2 schemas SA et SB, SB must be set as the default schema
// used by hibernate hibernate.default_schema SB
SchemaExport se = new SchemaExport(getCfg());
se.create(true,true);
// here we modify the generated table in order to test SchemaUpdate
Session session = openSession();
Connection conn = session.connection();
Statement stat = conn.createStatement();
stat.execute("ALTER TABLE \"SB\".\"Team\" DROP COLUMN name ");
// update schema
SchemaUpdate su = new SchemaUpdate(getCfg());
su.execute(true,true);
// we can run schema validation. Note that in the setUp method a *wrong* table
// has been created with different column names
// if schema validator chooses the bad db schema, then the testcase will fail (exception)
SchemaValidator sv = new SchemaValidator(getCfg());
sv.validate();
// it's time to clean our database
se.drop(true,true);
// then the schemas and false table.
stat.execute("DROP TABLE \"SA\".\"Team\" ");
stat.execute(" DROP SCHEMA sa ");
stat.execute("DROP SCHEMA sb ");
stat.close();
session.close();
}
示例9: testSchemaToolsNonQuote
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
public void testSchemaToolsNonQuote() throws Exception{
// database schema have been created thanks to the setUp method
// we have 2 schemas SA et SB, SB must be set as the default schema
// used by hibernate hibernate.default_schema SB
SchemaExport se = new SchemaExport(getCfg());
se.create(true,true);
// here we modify the generated table in order to test SchemaUpdate
Session session = openSession();
Connection conn = session.connection();
Statement stat = conn.createStatement();
stat.execute("ALTER TABLE \"SB\".\"TEAM\" DROP COLUMN xname ");
// update schema
SchemaUpdate su = new SchemaUpdate(getCfg());
su.execute(true,true);
// we can run schema validation. Note that in the setUp method a *wrong* table
// has been created with different column names
// if schema validator chooses the bad db schema, then the testcase will fail (exception)
SchemaValidator sv = new SchemaValidator(getCfg());
sv.validate();
// it's time to clean our database
se.drop(true,true);
// then the schemas and false table.
stat.execute("DROP TABLE \"SA\".\"Team\" ");
stat.execute(" DROP SCHEMA sa ");
stat.execute("DROP SCHEMA sb ");
stat.close();
session.close();
}
示例10: configureSession
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
public void configureSession(Properties props, List<Class> classes) {
Configuration cfg = new Configuration();
cfg.setProperties(props);
if (classes != null) {
for (Class className : classes) {
cfg.addClass(className);
}
}
_factory = cfg.buildSessionFactory(); // get a session context
// check tables exist and are of a matching format to the persisted objects
new SchemaUpdate(cfg).execute(false, true);
}
示例11: initialise
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
/** initialises hibernate and the required tables */
private void initialise(Set<Class> classes, Properties props) throws HibernateException {
try {
Configuration _cfg = new Configuration();
// if props supplied, use them instead of hibernate.properties
if (props != null) {
_cfg.setProperties(props);
}
// add each persisted class to config
for (Class persistedClass : classes) {
_cfg.addClass(persistedClass);
}
// get a session context
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(_cfg.getProperties()).build();
_factory = _cfg.buildSessionFactory(serviceRegistry);
// check tables exist and are of a matching format to the persisted objects
new SchemaUpdate(_cfg).execute(false, true);
}
catch (MappingException me) {
_log.error("Could not initialise database connection.", me);
}
}
示例12: updateDatabaseDDL
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
/**
* Generates alter database DDL and EXECUTES it.
*/
private static void updateDatabaseDDL() {
boolean printToOut = true; // write to System.out
boolean updateDatabase = false;
try {
new SchemaUpdate(cf).execute(printToOut, updateDatabase);
} catch (Exception e) {
log.error("DDL export to file failed: Reason: ", e);
}
}
示例13: execute
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
public static void execute(Dialect dialect, Class<?>... classes) {
Configuration configuration = new Configuration();
SchemaExport schemaExport = new SchemaExport(configuration);
SchemaUpdate schemaUpdate = new SchemaUpdate(configuration);
try {
new SchemaValidator(configuration).validate();
}
catch (Exception e) {
logger.error("Failed create the table: " + e.getMessage());
}
}
示例14: updateSchema
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
/** Updates the current DB-Schema with the schema defined by the hbm.xml files.
*
* @param script Print the DDL to the console.
* @param export
*/
public void updateSchema(Configuration cfg, boolean script, boolean export) {
try {
SchemaUpdate exp = new SchemaUpdate(cfg);
exp.execute(script, export);
} catch (HibernateException ex) {
log.fatal("Cant't update database schema: " + ex.getMessage(), ex);
return;
}
}
示例15: main
import org.hibernate.tool.hbm2ddl.SchemaUpdate; //导入依赖的package包/类
public static void main(String[] args) {
File currentDirectory = new File("");
File config = new File(currentDirectory.getAbsolutePath() + File.separatorChar + RESOURCES_PATH + "hibernate.cfg.xml");
Configuration cfg = new AnnotationConfiguration();
cfg.configure(config);
SchemaUpdate se = new SchemaUpdate(cfg);
se.setOutputFile(RESOURCES_PATH + "openhds-schema-update.sql");
se.execute(false, false);
}