首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate查询多对多数据实例

2012-09-28 
hibernate查询多对多数据范例public class StuDaoT extends BaseDao {?private TeaDaoTeachers teaDao

hibernate查询多对多数据范例

public class StuDao<T> extends BaseDao {
?private TeaDao<Teachers> teaDao = new TeaDao<Teachers>();

?/*
? * 查询多对多数据
? */
?public Map<String, List<T>> queryAllStudentsInfo(boolean isQuerySingle,
???Integer stuId) {
??Map<String, List<T>> map = new HashMap<String, List<T>>();
??List<Teachers> teaList = new ArrayList<Teachers>();
??Session session = super.getSession();
??List<Students> stuList = null;
??if (isQuerySingle) {
???stuList = session.createQuery(" from Students s where s.stuid=?")
?????.setInteger(0, stuId).list();
??} else {
???stuList = session.createQuery(" from Students s").list();
??}
??int listSize = stuList.size();
??for (int i = 0; i < listSize; i++) {
???Students stu = stuList.get(i);
???Set<Teachers> teaSet = stu.getTeachers();
???Iterator<Teachers> ite = teaSet.iterator();
???while (ite.hasNext()) {
????Teachers queryTea = ite.next();
????Teachers newTea = new Teachers();
????Integer teaId = queryTea.getTeaid();
????String teaName = queryTea.getTeaname();
????newTea.setTeaid(teaId);
????newTea.setTeaname(teaName);
????newTea.getStudents().add(stu);
????teaList.add(newTea);
???}
??}
??map.put("students", (List<T>) stuList);
??map.put("teachers", (List<T>) teaList);
??return map;
?}

热点排行