我有3個非抽象的持久化類。 MyClubUser和HisClubUser類繼承自User類。對於這些類,我使用每個子類策略的一個表,即@Inheritance(strategy = InheritanceType.JOINED)
。Hibernate繼承策略和爲什麼
我觀察到的是,當我在用戶類上進行查詢時,生成的SQL使用左外連接HisClubUser和MyClubUser。爲什麼Hibernate會這樣做[加入其他表]我只關心用戶的問題?我的觀點是,即使數據被檢索到,但如果返回了User實例,我將無法訪問MyClubUser或HisClubUser中的這些屬性。此外,這是否會導致額外的開銷,而不是隻查詢用戶表而沒有左外連接的查詢?
謝謝
+1非常感謝這些細節,他們明確了爲什麼我的原始SimpleUser提案不適用於InheritanceType.JOINED。我從答案中刪除了這部分內容,而不是誤導任何人。 – KLE 2009-10-08 09:41:43