0

多个连接可以是一个条件吗?

final CriteriaBuilder builder = entityManager.getCriteriaBuilder();

CriteriaQuery<Game> query = builder.createQuery(Game.class);

final Root<Game> game = query.from(Game.class);
final ListJoin<Game, Store> store = game.join(Game_.stores);
final ListJoin<Game, Category> category = game.join(Game_.categories);

即使没有谓词,第二个连接(类别)也会使结果不同。

这段代码有什么问题?

4

1 回答 1

1

默认情况下,连接是内部连接。所以查询只会选择至少有 1 个类别的游戏。使其成为左连接,它将选择所有游戏(即使是那些没有任何类别的游戏)。

于 2012-06-27T08:02:35.463 回答