2016-07-18 3 views
1

주문을 사용하여 워크 플로 테이블에서 데이터를 선택하고 싶습니다. 어떻게 그렇게합니까? stepSeq에 의해 wfBlockId 순서에 의해 wfBlockId, stepSeq 또는 순서에 의해 순서에 의해 올바른 작문 한 oreder는HQL 두 개의 다른 fileds에 의해 주문

public Workflow getDocById(String id) { 
    Query queryWfManager = sessionfactory.getCurrentSession().createQuery("from Workflow where id =:id"); 
    queryWfManager.setParameter("id", id); 

    Workflow wfManagerList = (Workflow) queryWfManager.list(); 
    Query queryWfDetails = sessionfactory.getCurrentSession().createQuery("from WorkflowDetails where workflowCode =:workflowCode order by wfBlockId order by stepSeq"); 
    queryWfDetails.setParameter("workflowCode", wfManagerList.getWorkflowCode()); 

    List<WorkflowDetails> queryWfDetailList = queryWfDetails.list(); 
    wfManagerList.setSteps(queryWfDetailList); 
    return wfManagerList; 
} 

어느 것입니까?

public Workflow getDocById(String id) { 
    Query queryWfManager = sessionfactory.getCurrentSession().createQuery("from Workflow where id =:id"); 
    queryWfManager.setParameter("id", id); 

    Workflow wfManagerList = (Workflow) queryWfManager.list(); 
    Query queryWfDetails = sessionfactory.getCurrentSession().createQuery("from WorkflowDetails where workflowCode =:workflowCode order by wfBlockId , stepSeq"); 
    queryWfDetails.setParameter("workflowCode", wfManagerList.getWorkflowCode()); 

    List<WorkflowDetails> queryWfDetailList = queryWfDetails.list(); 
    wfManagerList.setSteps(queryWfDetailList); 
    return wfManagerList; 
} 
+1

wfBlockId의 orderSeq가 올바른 경우 – Abhay

+0

SQL order by 절에 오류로 인해 첫 번째 옵션이 잘못되었습니다. – aksappy

답변

3
Query queryWfDetails = sessionfactory.getCurrentSession() 
    .createQuery("FROM WorkflowDetails where workflowCode =:workflowCode ORDER BY wfBlockId , stepSeq"); 

위의 쿼리는 올바른 것입니다.

관련 문제