1 官方推荐方式之:由Domain Object+映射文件->mapping->db
前提是domain都存在,才能使用这种方式,在第一次加载配置文件时,会执行创建数据库的操作。
需要配置hibernate.cfg.xml文件
<property name="hbm2ddl.auto">create</property>
**这里有四个配置值:**create,update, create-drop,validate。
- create:当应用程序加载hibernate-cfg.xml时,就会根据映射文件创建数据库,每次都会创建(原来有表,会删除在创建);
- update:如果没有该表,则创建;如果数据库中表已经存在,如果配置文件改变了(增加一个属性,相当于在数据苦衷加一个字段),那么update会自动在数据库中加上这个字段;
- create-drop:在显示(手动调用)关闭sessionFactory时,将drop掉数据库中的Schema;
- validate:相当于在每次插入数据之前都会验证数据库中的表结构和hbm文件的结构是否一致;
2 Domain Object细节
①需要一个无参的构造函数(用于Hibernate反射该对象)
②应当有一个无业务逻辑的主键属性
③给每个属性提供getter和setter方法
④在domain对象中的属性,只有配置到对象映射文件后,才会被Hibernate映射和管理
⑤属性一般是private
在对象关系映射文件中,有些属性是可以不配置的,Hibernate会采用默认机制,比如表名,property的type。