2012-11-12 6 views
0

나는 다음과 같은 엔티티가 :JSF 2 dataTable을 두 가지 변수/열로 두 가지 방법으로 정렬하는 방법은 무엇입니까?

@Entity 
public class Question { 

    @Id 
    @GeneratedValue 
    private Integer id; 

    private String content; 

    private boolean visible; 

    private Date displayDate; 

} 

하나 개의 질문이 데이터베이스에 모든 시간을 볼 수 있습니다. dataTable의 목록 요구 사항은 첫 번째 행이 보이는 질문이어야하며 다른 행은 displayDate에 의해 정렬되어야한다는 것입니다. 어떤 생각?

답변

1

정렬은 일반적으로 JS (뷰) 측이 아닌 DB (모델) 측에서 수행됩니다. 귀하의 SQL (및 JPQL) 쿼리는 필요한 후행 처리없이 정확히을 으로 반환하는 방식으로 작성되어야합니다 (DB는 Java/JSF보다 선택 작업에서 훨씬 효율적입니다). 당신은 JPA를 사용하는 경우 일반 SQL의 측면에서

, 즉

(...) ORDER BY visible DESC, displayDate ASC 

이 될 것입니다, 당신은 분명히이 정확하게 더 그

(...) FROM Question q (...) ORDER BY q.visible DESC, q.displayDate ASC 
+0

에 대한 적절한 JPQL 구문을 추출 할 수 있어야한다 이 상황에 대해 생각할 수있는 유연한 방법. 이제 알았어. 고맙습니다. – ranieribt

+0

와우! 당신이 쓴 쿼리 (JPQL)! 잘 했어! – ranieribt

+0

반갑습니다. – BalusC

관련 문제