0

複数のクライアントをサポートしますが、一部のDBテーブルはすべてのクライアントに表示されるべきではありません。ただし、展開が容易なため、すべてのクライアントで同じスキーマを使用する必要があります。

1)一部のテーブルを「非表示」にして、クライアントに対して同一のスキーマを使用できるようにすることはできますが、一部のテーブルは一部のデプロイメントでのみ表示されますか?私たちはHibernateを使用していますが、これがマッピングにどのように影響するかはわかりません。

2)別のオプションは、物理テーブル構造を明らかにする必要がない場合に、ビューを作成してそれらをHibernateにマップすることです。これはDB2データベースで機能しますか?

何かご意見は?ご入力いただきありがとうございます。:)

4

1 に答える 1

0

現時点では、hibernate が新しい構成を開くとき (つまり、 を呼び出すときConfiguration.configure())、hibernate は hibernate.cfg.xml で見つかったすべてのマッピング ファイルをチェックします。このチェックには、テーブルとマップされた列が存在するかどうかの検証が含まれます。それらが存在しない場合は、すぐに例外が発生します。

できること:
すべてのクライアントに同じマッピング ファイルを配信しますが、各クライアントは独自の hibernate.cfg.xml を取得します。このファイルには、彼が持っているテーブルのみが<mapping...>タグに含まれています。この場合、同じテーブルに対して異なるマッピング ファイルを配信することもでき (異なるクライアントがこのテーブルの異なるバージョンを持っている場合に役立ちます)、これらのマッピング ファイルの 1 つだけが hibernate.cfg.xml に記載されています。

于 2012-05-14T14:11:23.457 に答える