Java JPA关于join的多个查询

Java JPA关于join的多个查询,java,jpa,Java,Jpa,在这个特定场景中,假设我有两个表{a,B}及其生成的JPA类。表a->表B中的X列上有一个FK关系,表a中的X列已用 @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "X", referencedColumnName = "X", insertable = false, updatable = false). 我有一个命名的JPA查询,它连接了列“X”上的两个表。在执行时,我得到了正确的结果,但是正在对数据库运行多个查询。在…上 如果

在这个特定场景中,假设我有两个表{a,B}及其生成的JPA类。表a->表B中的X列上有一个FK关系,表a中的X列已用

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "X", referencedColumnName = "X", insertable = false, updatable = false). 
我有一个命名的JPA查询,它连接了列“X”上的两个表。在执行时,我得到了正确的结果,但是正在对数据库运行多个查询。在…上
如果联接的每个数据匹配,则似乎正在生成一个查询,并针对数据库运行该查询。这使我们的数据库负担过重。据我所知,在延迟获取中,JPA不应该只执行一次主查询并返回整个结果集,而不是为join的数据匹配生成额外的子查询吗。如果指定
OneToOne
,则Hibernate会将这两个对象关联起来
LAZY
意味着只有在需要该对象时才会启动获取链接对象的请求