hibernate一对多中Set集合显示

来源:百度知道 编辑:UC知道 时间:2024/06/28 20:26:55
hibernate 一对多的问题

用老师 和学生来举例
teacher的vo类中定义student为 Set sutdent

我现在要查看一个老师下面有多少个学生代码如下

Set s=teacher.getStudent();

能把这常s(学生)值输出,但是现在问题是set它不排序没有状态不跟list一样,我后来打算把这个set的值用list输出 但是还是不排序没有状态
代码如下:
Set tset = teacher.getStudent();
Iterator it = tset.iterator();
List< student > all = new ArrayList<student>();
while (it.hasNext()) {
student s= (student) it.next();
if (s!= null) {

all.add(s);

}
}
输出的结果为:
李四
张三

有时候是:
张三
李四

我想让结果固定下来只能是李四输出在输出张三,这应该怎么做,希望能给出点代码提示谢谢!
哦已经解决了这个问题,也和你们一样把这个问题避开,set配置属性有有ordery-by属性 还有sort属性都能用。
不过还是要谢谢大家 。

用list

<list name="courses" table="course" cascade="all">
<key column="student_id" ></key>
<index column="idx" type="java.lang.Integer"></index>
<one-to-many class="com.dragon.datamodel.Course" />
</list>

你用TreeSet 就好了 Set 的特性就是无序的,无重复的。
Set s=new TreeSet();
s=teacher.getStudent();
然后迭代试试看吧。

如果你想固定输出,那你要吧set换成list,list和set的配置也不一样,它还需要在数据库增加排序列,具体的做法你去百度下