本文地址:[http://blog.csdn.net/sushengmiyan/article/details/50422102](http://blog.csdn.net/sushengmiyan/article/details/50422102)
本文作者:苏生米沿
Hibernate 读取你java模型类的映射元数据,并且生成schemaDDL语句。你可以将它们导出到一个text文件中,或者当你在继承测试运行的时候直接在数据库执行。因为大多数数据库schema语言是有产品特性的,你需要一直保持在头脑中的是每一个你加入到映射元数据的选项都有潜力绑定到一个特定的数据库。
Hibernate 给你的表和约束自动创建基本的schema;它甚至会根据你选择的主键生成方式来创建序列。但是也有一些hibernate不会自动创建的schema特性。这包括所有高级数据库产品特性和其他物理存储数据的相关特性,比如tablespace.另外,你的DBA也会经常增加一些额外的schema语句来改善你的schema.DBAs应该早期就介入并且确定hibernate自动生成的schema.绝不允许不经过检查就将自动生成的schema部署到产品中去。
如果你的产品开发步骤允许,DBA进行的改变可以反馈到把你的JAVA系统中,增加映射元数据。在许多项目中,映射元数据可以包括所有DBA 修改的必要schema变化。然后,hibernate就可以自动生成所有产品的最终schema,包含注释、约束、索引等等。
下一节,我们给你展示如何自定义生成的schema和如何增加自由的数据库schema组件,我们讨论自定义的数据类型,额外的一致性规则,索引,还有如何替换hibernate自动生成的schema。
导出schema基本文件到一个文件
Hibernate 绑定org.hibernate.tool.hbm2ddl,SchemaExport类到主方法main(),你可以从命令行运行。这个辅助可以直接跟你的数据库会话,并且创建schema或者写一个文本文件,以便于你的DBA可以进行自定义优化改善。