多个连接可以成为条件吗?
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);
第二个连接(类别)使得结果不同,即使没有谓词也是如此。
这段代码出了什么问题?
答案 0 :(得分:1)
默认情况下,连接是内连接。因此查询将仅选择至少包含1个类别的游戏。将其设为左连接,它将选择所有游戏(即使是那些没有任何类别的游戏)。