在这个特定场景中,假设我有几个表{A,B}及其生成的JPA类。在表A的列X上存在FK关系 - >表B和表A中的这一列X用
注释@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "X", referencedColumnName = "X", insertable = false, updatable = false).
我有一个名为JPA的查询,它正在连接此列“X”上的两个表。在执行时,我得到了正确的结果,但是正在对DB运行多个查询。上 如果连接的每个数据都匹配,则会显示正在生成的查询并针对数据库运行。这使我们的数据库负担过重。根据我的理解,在LAZY fetch上,JPA不应该只执行一次主查询并带回整个结果集,而不是为连接的数据匹配产生额外的子查询
答案 0 :(得分:0)
您不必进行连接查询即可获取数据。如果指定OneToOne
,Hibernate会关联这两个对象。 LAZY
表示只有在需要该对象时才会启动获取链接对象的请求。