配置好hibernate的配置文件和映射文件以后可以通过SchemaExport工具导出sql脚本。
import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; public class ExportDB { public static void main(String[] args) { Configuration cf=new Configuration().configure(); SchemaExport sexport=new SchemaExport(cf); sexport.create(true, true); System.out.println("导出成功"); } }
运行结果:
alter table Student drop foreign key FKF3371A1B51FD6C4E drop table if exists Class drop table if exists Student create table Class ( id integer not null auto_increment, name varchar(255), primary key (id) ) create table Student ( id integer not null auto_increment, name varchar(255), class_id integer, primary key (id) ) alter table Student add index FKF3371A1B51FD6C4E (class_id), add constraint FKF3371A1B51FD6C4E foreign key (class_id) references Class (id) 十月 19, 2012 3:33:51 下午 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop INFO: HHH000030: Cleaning up connection pool [jdbc:mysql://localhost:3306/hql2] 导出成功 十月 19, 2012 3:33:51 下午 org.hibernate.tool.hbm2ddl.SchemaExport execute INFO: HHH000230: Schema export complete