2016-07-18 10 views
1

ワークフローテーブルからデータを選択するには、オーダーbyを使用します。一つはstepSeqによってwfBlockId順序によってwfBlockId、stepSeq OR ORDER BY順序により、正しい書き方orederある2つの異なるフィールドでHQLオーダー

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

order by wfBlockId、stepSeqが正しい – Abhay

+0

SQL order by句のエラーのため、最初のオプションが無効です – aksappy

答えて

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

上記のクエリは正しいです。

関連する問題