2012-06-27 56 views
0

多個連接可以成爲條件嗎?JPA Criteria API多重集合連接

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); 

即使沒有謂詞,第二次連接(catetory)也會使結果不同。

這段代碼有什麼問題?

回答

1

默認情況下,連接是內部連接。所以查詢只會選擇至少有一個類別的遊戲。將其設爲左連接,並選擇所有遊戲(即使沒有任何類別的遊戲)。