浠婂ぉ鍦ㄧ綉涓婇棽閫涘彂鐜頒簡涓涓柊鎷涳紝浠g爜濡備笅錛堝彧璐村嚭鍥炶皟鍑芥暟閲岀殑浠g爜浜嗭級錛?/span>
鐏拌壊鏂滀綋涓轟笟鍔$浉鍏充唬鐮侊紝璇鋒棤瑙?/span>
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(XtLog.class);
Criteria userCriteria = criteria.createCriteria("xtUser");
Criteria lcCriteria = criteria.createCriteria("xtLogClass");
if (StringUtils.isNotBlank(userId)) {
userCriteria.add(Restrictions.like("userId", userId, MatchMode.START));
}
if (StringUtils.isNotBlank(logClassId)) {
lcCriteria.add(Restrictions.eq("logClassId", logClassId));
}
if (beginDate != null && endDate != null) {
criteria.add(Restrictions.between("xtOplogtime", beginDate, endDate));
}
int totalRows =((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
psm.setTotalRows(totalRows); // 涓氬姟浠g爜錛岃鏃犺
criteria.setProjection(null);
criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
Map<String, String> orderMap = psm.getOrderMap();
if(orderMap != null){
setOrder(criteria, userCriteria, lcCriteria, orderMap);
}
if(!psm.isAll()){ // 鍒嗛〉
criteria.setFirstResult(psm.getRowStart());
criteria.setMaxResults(psm.getPageSize());
}
// List<XtLog> logs = new ArrayList<XtLog>(); // 榪斿洖鏃ュ織鍒楄〃
// List<Object[]> list = criteria.list();
// for (Object[] o : list) {
// logs.add((XtLog) o[2]);
// }
// return logs;
return criteria.list();
}
璇鋒敞鎰?strong>緇胯壊鍔犵矖閭d袱琛屼唬鐮侊紝閭e氨鏄痟ibernate鑾峰彇璁板綍鎬昏鏁扮殑鍐欐硶錛岀洿鎺ュ拰鑾峰彇鍒楄〃鐨勬柟娉曞啓鍦ㄤ竴璧鳳紝璨屼技寰堢畝媧侊紝寰堢粰鍔涳紝濡傛灉浣犳煡璇㈢殑灝辨槸涓寮犺〃錛岄偅涔堟病浜嬩簡錛屼絾鎴戞煡璇㈢殑鏃ュ織鏄鍏寵仈鍒扮敤鎴峰拰鏃ュ織鍒嗙被鐨勶紝鏈涓婇潰閭d笁琛屼唬鐮佸氨鏄叧鑱斾簡錛岃繖鏃跺彂鐜拌繑鍥炲埌欏甸潰鍚庢姤閿欎簡錛屽師鍥犳槸榪斿洖鐨勫茍涓嶆槸鎴戣鐨勬棩蹇桳ist錛岃屾槸 Object[]鐨凩ist錛屾瘡涓狶ist閲屼笁涓璞℃暟緇勶紝涓昏〃鐨勬暟緇勪笅鏍囨槸鏈鍚庝竴涓紝榪欐椂鎴戝氨寰椾嬌鐢?span style="color: #143066; font-size: 12pt">钃濊壊瀛椾綋鐨勪唬鐮侀噸鏂板皝瑁呭悗榪斿洖錛屾垜鎰熻榪欐牱铏界劧瑙e喅浜嗚闂錛屼絾榪樻槸涓嶇粰鍔涳紝涓嶅畬緹庯紝涓峱erfect錛屽氨鏄笉鐖斤紝浜庢槸璇峰皢娉ㄦ剰鍔涜漿縐誨埌綰㈣壊鍔犵矖瀛椾綋涓婏紝鍐欎笂瀹冨氨OK浜嗐?/span>