1

我正在使用 NHibernate 和 Sdf 数据库。在我的 hibernate.cfg.xml 文件中,我设置了:

<property name="hbm2ddl.auto" value="update"/>

但这似乎根本不起作用。“更新”属性应该使 NHibernate 在应用程序启动期间生成缺少的表和列,但它不会发生。

如果我想要生成丢失的表,我必须将 hbm2dll.auto 属性设置为“创建”,这对我来说不是一个选项,因为它会预先删除现有的数据库内容。

我在 PostgreSql 问题上遇到了同样的问题。我错过了什么吗?

4

2 回答 2

2

刚遇到同样的问题。我改变了属性的定义方式。代替:

<property name="hbm2ddl.auto" value="update"/>

我用了:

<property name="hbm2ddl.auto">update</property>

然后它起作用了:)

于 2012-05-03T09:08:23.983 回答
1

据我记得,我使用以下方法解决了这个问题:

new SchemaUpdate(_cfg);

请阅读 NHibernate 文档中的 SchemaUpdate。

您也可以尝试使用 Fluent NHibernate,它绝对可以按您的预期工作,甚至更好!

于 2010-04-09T18:52:31.507 回答