NHibernate を使用して大規模なアプリケーションを作成していて、2 つの別個のスキーマが必要であると想像してください (ちなみに Sql Server を使用しています)。
- Application_System (システム、構成テーブル、ユーザー テーブルなどに関連するすべてのテーブル)
- Application_Data (ユーザーがシステムと対話するときに保存/取得されるすべての実際のデータ)
今、私はNHibernateでこれを行うための簡単でクリーンな方法を見つけようとしてきました.CatalogとSchemaのプロパティを使用して解決策を見つけたと思いました.
Catalog("Application_System");
Schema("dbo");
Table("SystemSettings")
のSQLを生成しApplication_System.dbo.SystemSettings
ます。そして、これはちょっと機能しますが、2 つのカタログが定義されている場合、hbm2ddl.auto のテーブルの作成/削除機能が機能しなくなります。これで、Catalog プロパティと Schema プロパティを意図しない目的で悪用している可能性が高いという結論に達しました。ただし、複雑な足場を必要とせずに同じことを達成する簡単な方法を見つけることができないようです。
どんな助けでも大歓迎です。NHibernate がこれをすぐにサポートしないとは信じられません。つまり、これはかなり基本的な要件です。