【问题标题】:NHibernate and hbm2dll update attributeNHibernate 和 hbm2dll 更新属性
【发布时间】:2010-11-24 11:20:44
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: nhibernate sdf hbm2ddl


    【解决方案1】:

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

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

    我用过:

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

    然后它起作用了:)

    【讨论】:

      【解决方案2】:

      据我所知,我通过以下方式解决了这个问题:

      new SchemaUpdate(_cfg);
      

      请阅读 NHibernate 文档中有关 SchemaUpdate 的信息。

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

      【讨论】:

      • Fluent NHibernate 不是 SchemaUpdate 的替代品
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-15
      • 2016-11-06
      • 2015-12-15
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      相关资源
      最近更新 更多