2012-05-08 4 views
3

DBにSamplesという名前のテーブルがあり、ブール値の変数であるbaselineという名前の列があります。 baseline1に設定されている行の中から検索したいので、DB(MySQL)でビューを作成しました。今、Samplesテーブルを照会するのではなく、このビュー(名前はBaselines)を照会します。データベースをHibernateで使用する

このビューの宣言をhibernate cfgファイルに追加する必要がありますか?また、Baselinesという別のJavaクラスを作成する必要がありますか?

答えて

8

Hibernateはテーブルのようにビューを扱うことができます。そのビューに基づいてエンティティクラスを定義するだけです(あなたの言うとおり、Baselines)。

ビューで最も一般的な問題は、一部のデータベースエンジンではビューの挿入や更新が処理できないため、アプリケーションがデータを変更しようとする場合に注意してください。 MySQLがこれに対応しているかどうかはわかりません。

ビューを使用する代わりに、同じことを行うHibernate Filtersを使用することもできますが、これはHibernateセッションレベルです。

+0

私は、Samplesクラスと同じフィールドを持つBaselinesという名前のJavaクラスを作成する必要がありますか? –

+0

@ GauravSuman:はい。または、サブクラス化するだけです。または、フィルターを使用します。 – skaffman

1

私はNHiberNateとSQL Serverの間で何か類似しています。

私はビューを通常のテーブルと同じように扱いました。

関連する問題