1.创建SQL
StringBuffer buff = new StringBuffer();
buff
.append("select m.id,m.member_name,b.sex,b.birthday,b.contact_province,b.contact_city,");
buff
.append("b.incoming,b.stature,b.self_description,b.self_description_approved,b.default_photo_path ");
buff.append("from member m ");
buff.append("inner join member_basic_profile b on b.member_id = m.id ");
buff.append("inner join favorite f on f.member_id = m.id ");
buff.append("where m.id = :memberId ");
buff.append("order by b.default_photo desc,f.create_time desc");
GET_MY_FAVORITES = buff.toString();
2, 创建session,并执行SQL ,并实现分页
Session session = HibernateManager.getCurrentSession();
Query q = session.createSQLQuery(GET_OTHER_FAV);
q.setInteger("memberId", favoriteId);
if (startRow != null && fetchSize != null) {
q.setFirstResult(startRow);
q.setMaxResults(fetchSize);
}
3.读取数据
List result = new ArrayList();
for (Iterator iter = records.iterator(); iter.hasNext();) {
Object[] row = (Object[]) iter.next();
MemberExt ext = new MemberExt(); // member扩展类
MemberBasicProfile profile = new MemberBasicProfile();
ext.setMemberBasicProfile(profile);
ext.setId(HibernateHelper.getInt(row[0]));
ext.setMemberName((String) row[1]);
profile.setSex((String) row[2]);
profile.setBirthday((Date) row[3]);
profile.setContactProvince((String) row[4]);
profile.setContactCity((String) row[5]);
profile.setIncoming((String) row[6]);
profile.setStature((String) row[7]);
profile.setSelfDescription((String) row[8]);
profile.setSelfDescriptionApproved(HibernateHelper
.getInt(row[9]));
profile.setDefaultPhotoPath((String) row[10]);
result.add(ext);
}