说起来还是对于Hibernate不够了解,到现在才发现Hibernate竟然有如此给力的功能,但同时又给像我这样对hibernate不够理解的人添加了很多烦恼,例如最近在开发测试一个定时任务的时候发现每次系统启动都会在一个task表中添加一个多余的字段,而且这个字段赋值不能为空,然后就反复各种折腾,(启动好了去数据库把多出来的这个字段干掉是可以继续测试的。。。。)最后程序调好了,但是无缘无故的添加字段的问题还没有找到,最好在查看pojo配置时发现,主键配置的列名不对,而恰巧自动添加的字段就是配错的这个列名,到这里突然想到Hibernate是不是有自动创建表的功能,果不其然Google一下问题全解决了。。。
Hibernate自动创建表结构的方法之一,好像还有一种可以直接在属性文件中添加(属性文件必须是引用到的在classes下的才行)
<properties>
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
- validate 加载hibernate时,验证创建数据库表结构
- create 每次加载hibernate,重新创建数据库表结构。
- create-drop 加载hibernate时创建,退出是删除表结构
- update 加载hibernate自动更新数据库结构