第一种方式:
hibernate.cfg.xml文件中的hibernate.hbm2ddl.auto 属性配置,如下:
<!-- create:先删除,再创建 update:如果表不存在就创建,不一样就更新,一样就什么都不做。 create-drop:初始化时创建表,SessionFactory执行close()时删除表。 validate:验证表结构是否一致,如果不一致,就抛异常。 --> <property name="hibernate.hbm2ddl.auto">update</property>
第二种方式:
使用hibernate提供的一个工具类。
org.hibernate.tool.hbm2ddl.SchemaExport
用法见如下demo代码:
package com.yx.jtest;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class Test {
public static void main(String[] args) {
// 根据hibernate核心配置文件生成表结构
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
SchemaExport schemaExport = new SchemaExport(cfg);
boolean script = true;
boolean export = true;
/**
* 创建表结构
* 第一个参数script的作用:print the DDL to the console
* 第二个参数export的作用:export the script to the database
*/
schemaExport.create(script, export);
// drop 表结构
// schemaExport.drop(script, export);
}
}
SchemaExport的更多用法,可以去看源码或java doc