DetachedCriteria类中uniqueResult()方法与list()方法区别

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或正整数。

posted on 2014-11-10 16:14  JoUU  阅读(3913)  评论(0编辑  收藏  举报

导航