hibernate hibernate.hbm2ddl.auto属性

hibernate配置属性中,hibernate.hbm2ddl.auto可以帮助你实现正向工程,即由java代码生成数据库脚本,进而生成具体的表结构.
在hibernate.cfg.xml中:
<property name="hibernate.hbm2ddl.auto"></property>
它包含4个属性:
  • create : 会根据你的model类来生成表,但是每次运行都会删除上一次的表,重新生成表,哪怕2次没有任何改变

  • create-drop : 根据model类生成表,但是sessionFactory一关闭,表就自动删除

  • update : 最常用的属性,也根据model类生成表,即使表结构改变了,表中的行仍然存在,不会删除以前的行(如果更新了表配置文件,会相应的更新数据库中的表结构,但不会删除已有的行和列 ,但是存在表中原先的值不会删除)

  • validate : 只会和数据库中的表进行比较,不会创建新表,若 .hbm.xml 文件中的列在数据表中不存在,则抛出异常

你可能感兴趣的:(Hibernate)