私は、主にMSSQLデータベースに対して、私はさまざまなテーブルのためのMSSQLスキーマを使用してNHibernateを使用しています。私のNHマッピング(HBM)ファイルでNHibernateの "データベース"スキーマの混乱[。 hibernate-mapping @schema]
、次のように私はマッピングで各テーブルのスキーマを指定した:私のユニットテストのために
<?xml version="1.0"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
auto-import="true"
schema="xyz"> <!-- schema specified -->
<class name="Customer">
<id name="Id">
<generator class="native" />
</id>
<property name="Name" />
</class>
</hibernate-mapping>
を、私はSQLiteのを試してきました、しかし、私のNHはデータベース "xyz"が見つからないと報告しているので、マッピングは失敗します。
私はschemaの解釈に違いがあることを理解していますので、NHの解釈/実装とは何ですか?また、スキーマを使用するときの最良のアプローチは何ですか?
BTW:「nhibernateデータベーススキーマ」のようなキーワードを使用してウェブを検索すると、何か関連性がありません。
public string GetQualifiedName(NHibernate.Dialect.Dialect dialect)
{
string quotedName = this.GetQuotedName(dialect);
return ((this.schema == null) ?
quotedName :
(this.GetQuotedSchemaName(dialect) + '.' + quotedName));
}
だから基本的にはすべてのシナリオのマッピングの別のセットを持っているよりも、あなたが他のスキーマ名を無視するのSQLiteを作ることができる方法はありません。
現在、NH 2.0.1 GAを使用しています。バージョン2.1.0のAlpha3を見ると、HBM XSDにカタログ属性が追加されたようです。 さらに調査します。 – VirtualStaticVoid