有两个实体A和B涉及一对多。
我想提取" B_2"在那里有父母(" A_1")和孩子(" B_1"," B_2"," B_3")。所以我尝试下面的代码。
from(QB.b).join(QB.b.a, QA.a).fetch().join(QA.a.bList).fetch().where(QB.b.name.eq("B_2"));
但结果B.a.bList只是代理对象。并且它发生在N + 1问题上。 有人帮忙吗?
答案 0 :(得分:1)
出于本示例的目的,让我们为实体A a
和实体B b
调用Querydsl查询类型。
.from(a)
.innerJoin(b)
.on(a.a_id).eq(b.a_id)
.where(b.name.eq("B_2"))
.fetch();