Hibernate 中有三个部分是相互关联的, domain 对象(也叫领域对象,是符合 JavaBean 规范的 Java 类), hibernate 映射文件,数据库表结构。这三个部分只要知道其中一个,就能得出其余两个。
标准的利用 hibernate 进行系统设计的步骤是先设计这个系统的 domain 对象,然后利用工具生成 hibernate 映射文件和数据库表结构,这是符合面向对象思想的标准方式。
还有一种方法就是先生成数据库表结构,然后在利用工具生成 domain 对象和 hibernate 映射文件,这是使用比较多的一种方式。
再有一种就是先写好 hibernate 映射文件,然后在由映射文件来生成 domain 对象和数据库表结构,这是很少被使用的方法。
由 hibernate 自动生成数据库表结构是需要在 hibernate 配置文件中进行配置 hibernate.hbm2ddl.auto 参数的, hibernate.hbm2ddl.auto 参数有四个可选的值,分别为 create-drop create update validate 。
create-drop 主要用于测试开发,每次程序启动时创建数据库表,关闭时删除数据库表。
create 也是用于测试开发,每次程序启动时创建数据库表,但程序关闭时不删除表,而是在
下次程序再启动时删除。
update 同样用于测试开发,每次程序启动时 hibernate 都会根据映射文件更新数据库。
validate 用于开发完成后,每次程序启动时 hibernate 都会根据映射文件对数据库进行校验,如果有不匹配的地方会进行提示。