NHibernate和hbm2dll更新属性

时间:2009-08-31 21:13:13

标签: nhibernate sdf hbm2ddl

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

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

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

如果我希望丢失表格,我必须将hbm2dll.auto属性设置为“create”,这对我来说不是一个选项,因为它预先丢弃了现有的db内容。

我遇到了与PostgreSql问题相同的问题。我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

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

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

我用过:

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

然后它起作用了:)

答案 1 :(得分:1)

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

new SchemaUpdate(_cfg);

请阅读NHibernate文档中的SchemaUpdate。

您也可以尝试使用Fluent NHibernate,它将按照您的预期进行定义,甚至更好!