我有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