67,549
社区成员




@SuppressWarnings("unchecked")
@Override
public List<Object[]> getObjectList() throws Exception {
String sqlString = "";
List<Object[]> list = null;
try {
sqlString += " SELECT a.id," + "a.name," + "a.card_type," + "a.card_num," + "a.sex," + "a.birthday," + "a.nation," + "a.political," + "a.center_id," + "a.gradation_id," + "a.specialty_id," + "a.school_name," + "a.phone," + "a.qq," + "a.province_id," + "a.city_id," + "a.district_id," + "a.address," + "a.update_datetime," + "a.apply_user_id," + "p1.name card_type_name," + "p2.name sex_name," + "p3.name nation_name," + "p4.name political_name," + "c.name center_name," + "g.name gradation_name," + "s.name specialty_name," + "pr.ProvinceName," + "ci.CityName," + "di.DistrictName";
sqlString += " FROM apply a";
sqlString += " LEFT JOIN parameter p1 ON p1.id = a.card_type";
sqlString += " LEFT JOIN parameter p2 ON p2.id = a.sex";
sqlString += " LEFT JOIN parameter p3 ON p3.id = a.nation";
sqlString += " LEFT JOIN parameter p4 ON p4.id = a.political";
sqlString += " LEFT JOIN center c ON c.id = a.center_id";
sqlString += " LEFT JOIN gradation g ON g.id = a.gradation_id";
sqlString += " LEFT JOIN specialty s ON s.id = a.specialty_id";
sqlString += " LEFT JOIN province pr ON pr.ProvinceID = a.province_id";
sqlString += " LEFT JOIN city ci ON ci.CityID = a.city_id";
sqlString += " LEFT JOIN district di ON di.DistrictID = a.district_id";
sqlString += " INNER JOIN (" + "SELECT MAX(update_datetime) max_update_datetime,apply_user_id " + "FROM apply GROUP BY apply_user_id" + ") l_a";
sqlString += " ON l_a.apply_user_id = a.apply_user_id AND l_a.max_update_datetime = a.update_datetime";
sqlString += " ORDER BY a.apply_user_id DESC,a.update_datetime DESC";
list = this.getSession().createSQLQuery(sqlString).list();
} catch (Exception e) {
log.error(e);
throw e;
}
return list;
}
连接池不会超时的代码:
@SuppressWarnings("unchecked")
@Override
public List<Apply> getApplyListByApplyUserId(String applyUserId) throws Exception {
String sqlString = "FROM Apply m WHERE m.applyUserId=? ORDER BY m.updateDatetime DESC";
List<Apply> list = new ArrayList<Apply>();
try {
Query query = this.getSession().createQuery(sqlString);
query.setString(0, applyUserId);
list = query.list();
} catch (Exception e) {
log.error(e);
throw e;
}
return list;
}