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都会根据映射文件对数据库进行校验,如果有不匹配的地方会进行提示。