DetachedCriteria criteria = new RecruitmentCriteria().createForDealer(dealerId, jobTitleId) .dateFilterForSM(year, month) .candidateFilterForSM(candidateId) .finalAssessmentResultPassed().build(); Integer count = (Integer) criteria.getExecutableCriteria(getSession()).uniqueResult(); if(count > 0){
return true;
}
DetachedCriteria構建檢索條件時,有兩個方法.uniqueResult()與.list(),
采用前者uniqueResult()方法,如果查詢結果為1條,則返回值為1;查詢結果為0條,則返回0;查詢結果大於1條,則拋出異常NonUniqueRequestException.
采用后者list()方法,檢索時bibernate會為在底層拼上count(*),因此返回值為0或正整數。