我是否需要在where子句中重用已定义的连接,或者如果我创建所需属性的路径以添加where条件,它是否相同?请参考以下示例 .

1)

Root<A> root = query.from(A.class);
Join<A, B> join = root.join(A_.b, JoinType.LEFT);
query.select(join.get(B_.id).in(idList));

2)

Root<A> root = query.from(A.class);
root.join(A_.b, JoinType.LEFT);
query.select(root.get(A_.b).get(B_.id).in(idList));

我想第一个例子很好,但第二个怎么样?对我来说,不清楚第二个中的连接定义是否被重用 . 我是否在连接定义方面使用最后一个选项保存,或者是否可能使用默认的JoinType(即INNER)?