当前位置:编程学习 > JAVA >>

ssh 一个外键里面有多个值的问题求解!

现在有这样一个需求,假设有一张学生表(id,class_id)和一张班级表(id,className),在hibernate配置文件里做好映射.学生表里有两条记录(id:1 class_id:1,2  id:2 class_id:1,3),班级表里有三条记录(id:1 className:一班 id:2 className:二班 id:3 className:三班)    目前的情况有点特殊就是claa_id字段里有多个值,如果是一个值的话把学生表显示在页面上很好做,可现在这种情况想了半天都没有一个方法能解决.需要的效果是在jsp页面上显示这样的效果:
学生id     班级名
1          一班,二班
2          一班,三班
先谢过大家! --------------------编程问答-------------------- 额 好像懂了  似乎就是一个多对多的关系 --------------------编程问答-------------------- 也不对啊  多对多得有第三张关联表.  大侠们帮忙看看吧 --------------------编程问答-------------------- 将数据库中CLASS_ID的值在JAVA中用SPLITE 以“,”分割,然后存到数组中,对数组循环,取ID在数据库中的值(就是CLASSNAME表),然后在JAVA中最后拼接就可以了。如果是在数据库中显示如楼主那样的形式,在SELECT语句中用||拼接字段(可以考虑子查询)即可,select className1 || ',' ||className2 from ...这样  --------------------编程问答--------------------
引用 3 楼 demonss1980 的回复:
将数据库中CLASS_ID的值在JAVA中用SPLITE 以“,”分割,然后存到数组中,对数组循环,取ID在数据库中的值(就是CLASSNAME表),然后在JAVA中最后拼接就可以了。如果是在数据库中显示如楼主那样的形式,在SELECT语句中用||拼接字段(可以考虑子查询)即可,select className1 || ',' ||className2 from ...这……

多谢楼上的兄弟,可目前的情况是项目用的ssh框架,并且结果要显示在jsp页面上. --------------------编程问答-------------------- LZ你很懒舍不得动脑子啊,你线SELECT把学生的class id 取出来,比如取出来的是 “id1,id2” ,这在JAVA中很容易吧,然后你splite(",")一下,存到数组里,就变成 [id1,id2] 了,然后循环的时候把数组里的值做为条件 放到 sql 中,比如 select className from classtable where id = id1 ,然后查2次,将结果拼接,存起来放到MAP中,再到JSP页面上显示不就行了? 
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,