1

コードをデプロイした後でも柔軟になりたいので、hibernate.cfg.xmlファイルを使用してNHibernateを構成します。現在、Fluent NHibernateを使用して、すべてのクラス=>テーブルマッピングを実行することを計画しています。古いNHibernateConfigurationクラスを使用してFluentNHibernateを構成する方法はありますか?

4

2 に答える 2

2

はい、流暢な構成 APIを使用している場合、メソッドには、 hibernate.cfg.xml から構築できるConfigure既存の NHibernate インスタンスを受け取るオーバーロードがあります。Configuration

于 2009-11-19T13:41:55.807 に答える
0

わかりました、これは明らかに私のせいでした。NHibernate 構成オブジェクトを Fluently.Configure() メソッドに渡そうとしましたが、私のコードはあらゆる種類のエラーをスローしていました。問題は、NHibernate 'Fluent-NHibernate' ユーザーのバージョンにありました。プロキシ ファクトリ クラス属性が必須になったことを知りませんでした。したがって、私の hibernate.cfg.xml ファイルにはその属性がありませんでした。奇妙なことに、Fluent NHibernate はそれについて何の手がかりも与えてくれませんでした。この問題を見つけたのは、プレーンな NHibernate を使用しようとしたときです。以下は、私の hibernate.cfg.xml ファイルの異なるバージョンです。将来の開発者に役立つことを願っています。

最初のバージョン

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect,NHibernate</property>
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=SchoolPilot;Integrated Security=True</property>
    <property name="show_sql">true</property>
  </session-factory>
</hibernate-configuration>

2 番目のバージョン

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect,NHibernate</property>
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=SchoolPilot;Integrated Security=True</property>
    <property name="show_sql">true</property>
  </session-factory>
</hibernate-configuration>
于 2009-11-21T16:46:04.533 に答える