Java-Hibernate数据库更改

我们正在使用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也会在数据库中创建表,它将删除所有表并再次创建表,从而导致先前插入的数据丢失.

上一篇:NHibernate:映射一对多关系以填充集合而不使用第二类


下一篇:CodeGo.net>如何在NHibernate的CompositeId映射中设置列