考虑以下的JPQL查询:
我正在尝试将这个转化为Criteria查询。目前为止,我只完成了以下部分:
显而易见的问题是我在做两次相同的连接,因为Fetch类似乎没有获取Path的方法。 有没有办法避免两次连接?还是我必须坚持使用简单的JPQL查询?
SELECT foo FROM Foo foo
INNER JOIN FETCH foo.bar bar
WHERE bar.baz = :baz
我正在尝试将这个转化为Criteria查询。目前为止,我只完成了以下部分:
var cb = em.getCriteriaBuilder();
var query = cb.createQuery(Foo.class);
var foo = query.from(Foo.class);
var fetch = foo.fetch(Foo_.bar, JoinType.INNER);
var join = foo.join(Foo_.bar, JoinType.INNER);
query.where(cb.equal(join.get(Bar_.baz), value);
显而易见的问题是我在做两次相同的连接,因为Fetch类似乎没有获取Path的方法。 有没有办法避免两次连接?还是我必须坚持使用简单的JPQL查询?