一对多结构的数据,
如:班级(c)--学生(s) c1 ------ s11
s12
s13
c2 ------- s21
s22
s23从数据库中取得 c1 ,c2 并通过Hibernate 的一对多映射取得它们反对应的学生。
问题是: 以什么样的数据结构把 这样的数据存到Session 中,并传到页面(班级,学生,都要是有序的),
是入到ArrayList,还是入到 TreeMap 里面呀,
小弟是这样想的,
1, 放ArrayList中: (简单说就是两个ArrayList,一个放班级,一个放学生,
[放学生的ArrayList中,存的是每个班级里的学生集合])
ClassList: 0 c1
1 c2 StudentList : 0 Class1StudentList: 0 s11
1 s12
2 s13 1 Class@StudentList: 0 s21
1 s22
2 s23
2, 放到TreeMap中: (键值分别为班级和学生)
map c1 s11
c1 s12
c1 s13
c2 s21
c2 s22
c3 s23
不知道上面哪种方法可行,如果可行的话,,大家一般都用哪种方法呀,???
如:班级(c)--学生(s) c1 ------ s11
s12
s13
c2 ------- s21
s22
s23从数据库中取得 c1 ,c2 并通过Hibernate 的一对多映射取得它们反对应的学生。
问题是: 以什么样的数据结构把 这样的数据存到Session 中,并传到页面(班级,学生,都要是有序的),
是入到ArrayList,还是入到 TreeMap 里面呀,
小弟是这样想的,
1, 放ArrayList中: (简单说就是两个ArrayList,一个放班级,一个放学生,
[放学生的ArrayList中,存的是每个班级里的学生集合])
ClassList: 0 c1
1 c2 StudentList : 0 Class1StudentList: 0 s11
1 s12
2 s13 1 Class@StudentList: 0 s21
1 s22
2 s23
2, 放到TreeMap中: (键值分别为班级和学生)
map c1 s11
c1 s12
c1 s13
c2 s21
c2 s22
c3 s23
不知道上面哪种方法可行,如果可行的话,,大家一般都用哪种方法呀,???
根据班级查学生
根据学生查班级你这样把数据全部查出来再组织,内存成了你放数据的地方了(--这样的数据存到Session 中)
数据太不不建议这样用如果硬是要用的话就用MAP
MAPKEY :C1(班级)VALUE(Object):C1List(班级所有人的LIST);
班级编号
学生对象
}
类 学生{
学生编号
}
list.add( 班级对象)页面显示${list.班级.学生对象.学生属性}
如果你用HIEBERNATE反向生成实体映射类了,并且你的数据库表中有实体映射关系,那你生成的班级实体类中就 应该有 一个set容器 存放你的student对象还需要在 班级.heb.xml 文件中 在<set>里加入 lazy=false然后将获取的班级对象存入request 中 再前端 结合struts标签 遍历每个 班级.students[i]就可以拿到班级对象里的student可能说的有点乱,不知道你能不能看明白
........
把各个班存为ArrayList{C1(List结构),C2,......}前台调用就行了。