4
我的模型(InheritanceType.JOINED)加入:HQL - 只有一個子類
class Parent{...} class Child1 extends Parent{...} class Child2 extends Parent{...} class Child3 extends Parent{...} class Child4 extends Parent{...} class Agg{ List<Parent> l; }
AGG的是通過加入父表連接。父母沒有Agg對象。
我正在對Child2進行一些篩選,例如: 「From Child2 ch2 WHERE ch2.field1 = ... ch2.field2 = ... etc.」
我怎樣才能加入Child2與Agg,而不會導致與所有子類表連接。我想要使用'class'屬性(即ch2.class = ...)結果是正確的,但生成了,但我想要加入只與Child2表(不加入Child2,Child3,Child4)
查詢中包含聯接到每個子類;/
HQL「來自此Agg一個加入人」也與所有的子類(甚至ch2.class)
感謝加入!
也許你有一個「熱切」加載在列表 Agg類,造成這種情況。當你使用Parent類進行JOIN時,你將會有這種行爲(因爲這一點,我從來沒有使用Hibernate的繼承)。你能提供更多的細節,比如所有類的映射嗎? –
Dherik