2011-02-17 3 views

답변

3

물론 Rasmus Franke가 말한 것처럼 그렇게 할 수 있습니다. 그냥 javadocs for FetchParent 에서 확인하거나이 시도 :

@Entity 
public class SomeEntity { 
    @Id int id; 
    @OneToMany List<OtherEntity> others; 
} 

@Entity 
public class OtherEntity { 
    @Id int id; 
} 

CriteriaBuilder cb = em.getCriteriaBuilder(); 
CriteriaQuery<SomeEntity> cq = cb.createQuery(SomeEntity.class); 
Root<SomeEntity> root = cq.from(SomeEntity.class); 
ListAttribute<? super SomeEntity, OtherEntity> listAttribute = root.getModel().getList("others", OtherEntity.class); 
root.fetch(listAttribute, JoinType.LEFT); 
cq.select(root); 
+0

를 잘 할 수 있다고. 나는 쿼리를위한 기준 API를 오랫동안 작성하지 않았다. 현재 저는 항상 JPQL을 사용합니다. 고맙습니다. –

2

ListAttribute는 컬렉션을 기반으로하는 모든 속성과 마찬가지로 PluralAttribute를 확장합니다. 실제로 root.fetch (ListAttribute)를 사용하려고 했습니까?