我们正在使用Hibernate从数据库获取数据.问题是我们有时不得不更改表.实际上,我们多次遇到了Hibernate的数据库映射对数据库无效的问题.
有人可以给我提示如何解决这个问题吗?
简单的例子:
今天的用户表如下所示:
> ID
>名称
>姓氏
>地址
>性
>用户名
在Futur中,它可能看起来像:
> ID
>名称
>姓氏
> fk_地址
>性
>用户名
> fk_Usergroup
> fk_rightgroup
尽可能轻松地保持它很重要.
我们正在使用MsSQL和XML映射.
我非常感谢您提出的每一个解释性答案.
解决方法:
在hibernate.cfg.xml文件中添加属性:
<property name="hibernate.hbm2ddl.auto">update</property>
可用值:
validate | update | create | create-drop
通过使用此属性,您需要更改POJO和.hbm.xml文件,它将自动更新到数据库.
create和update之间的区别在于,如果已创建数据库表,则update将更新您的数据库;如果未创建数据库表,则update将创建.
即使表已经存在,create也会在数据库中创建表,它将删除所有表并再次创建表,从而导致先前插入的数据丢失.