日期:2014-05-19  浏览次数:20772 次

各位高手来挑战下吧。
我做的一个struts2和hibernate2的整合。
有两张双向关联的,一对多的表。
一个班级类Team
Java code
private Integer id;
     private String className;
     private Set<Student> student = new HashSet<Student>(0);

一个学生类:
Java code
private Integer id;
     private String stuName;
     private int stuAge;
     private Character stuSex;
     private String stuAddress;
     private Date born;
     private Team team;

数据库中学生表有一个外键班级id.

现在我要插入一个学生:现在问题是如何插入这个学生,关键是:怎么获取到这个班级对象Team..
因为在jsp页面上只有一个下拉列表标签.里面的班级是数据库查出来的。在不改变现有代码的情况下。怎么办呢??
怎么保存这个学生呢??

感觉这个挺棘手的。。求各位高手指点。。听说csdn牛人大大的有啊。。有木有??

------解决方案--------------------
你jsp中下拉列表的值传到后台是一个String的对象,假设是叫className
你通过这个className来查找,你dao中应该有个findByClassName的方法吧?(没有的话可以myeclipse自动生成,参考里面的写法),也可以用hql语句查找,from Team as t where t.className='className',查找到的是一个List对象,可以直接取第一个(因为你的班级名应该是唯一),这样就能得到Team对象了
------解决方案--------------------
在struts 的保存学生action 里面 先通过 传过来的班级id查班级对象,再把这个班级对象赋给学生对象,最后

把学生对象保存就行了。