私はC1とC2の2つのクラスを持っています。それぞれはそれ自身のテーブルにとどまります。それぞれに独自のHibernate XML記述があり、独自のテーブルがあります。これらのクラス間の接続はまったくありません。Hibernateにサブクラスを無視させる方法を教えてください。
C1がC2のサブクラスであることを除いて。
明らかに、C1のXMLはC2から多くのものをコピーします(いくつかのものが追加されています)が、それは別のコピーです。もう一度:XMLファイルには、もう一方のクラスまたは他のテーブルは記述されていません。
しかし、 "From C2"クエリを実行すると、Hibernateは両方のテーブルをすべて取得します。
論理的に言えば、C1は実際にはC2なので、私はすべてのC2が欲しいなら、私はC1も必要とするので、C1のすべての表を読む必要があります。 HibernateはC2のサブクラスC1を検出するためにリフレクションを使用する必要があります。
これが予想される動作であるとします(私には期待されていませんでしたが)。どうすれば避けられますか?私が「C2から」と言うとき、私は実際にはC2だけで、C1では起動しないということをHibernateに伝える方法はありますか?タイプC1ではないオブジェクトに制限するクエリに追加できる句がありますか?C1のテーブルを最初に照会するとパフォーマンスが低下するのを避けますか?
C1またはC2の 'PolymorphismType.EXPLICIT'? –