对于单值关联,即-一对一和多对一:-
默认惰性 = 代理
代理延迟加载 :-这意味着加载了关联实体的代理对象。这意味着只有连接两个实体的 id 被加载用于关联实体的代理对象。
例句: A 和 B 是两个具有多对一关联的实体。每个 B 可能有多个 A,A 的每个对象都包含 B 的引用。
`
public class A{
int aid;
//some other A parameters;
B b;
}
public class B{
int bid;
//some other B parameters;
}
` 关系 A 将包含实体 A 的列(aid、 id、 ... ... 其他列)。
关系 B 将包含列(出价,... 实体 B 的其他列)
代理意味着当获取 A 时,只为 B 获取 id 并存储到只包含 id 的 B 的代理对象中。
B 的代理对象是代理类的一个对象,代理类是 B 的一个子类,只有极小的字段。
因为出价已经是关系 A 的一部分,所以没有必要触发一个查询来从关系 B 获得出价。
实体 B 的其他属性只有在访问出价以外的字段时才延迟加载。
对于集合,即-多对多和一对多:-
默认懒 = 真
还请注意,提取策略(select、 join 等)可以覆盖惰性。
例如: 如果惰性 = ‘ true’和 fetch= ‘ join’,那么 A 的抓取也将获取 B 或 B (在集合的情况下)。仔细想想就知道原因了。
单值关联的默认提取是“ join”。
集合的默认获取是“ select”。
请证实最后两行。我已经推断出逻辑。