【发布时间】:2011-12-22 01:11:51
【问题描述】:
在这个特定场景中,假设我有几个表 {A,B} 及其生成的 JPA 类。表 A -> 表 B 的 X 列存在 FK 关系,表 A 中的 X 列已用
注释@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "X", referencedColumnName = "X", insertable = false, updatable = false).
我有一个命名的 JPA 查询,它正在连接此列“X”上的两个表。在执行时,我得到了正确的结果,但是正在对数据库运行多个查询。在 连接的每个数据匹配,似乎正在生成一个查询并针对数据库运行。这使我们的数据库负担过重。据我了解,在 LAZY 提取中,JPA 不应该只执行一次主查询并带回整个结果集,而不是为连接的数据匹配生成额外的子查询
【问题讨论】: