解决方案 »
- struts2可以直接用标签调用后台的java方法吗?
- 诉求:使用struts2,在jsp页面中,如何不使用struts2的标签用javascript设置参数向对应的action里面传值!!
- 关于web项目中的文件夹选择问题
- 大家看看这是什么原因
- 这是什么异常啊?郁闷
- struts + ajax 小弟初学就出问题了
- 有关一个按钮 在点击后 的问题
- 我想在JSP中用相对路径访问数据库,但是我用一个小程序测试的时候就不不能访问到数据库,程序内容如下,请高手指导一下,谢谢
- 菜鸟请教,在线等候,数据库相关!
- Hibernate 中save问题
- oracle日期查询
- Hibernate 报错Could not parse mapping document from resource
-----------------------------------------------------------------
能说明下这个是什么意思吗?System.out.println("***********课程表->"+teacher.getCourseSet());//这儿出问题,是空的你这里打印的是内存中你定义的teacher对象,从这个对象中取值是取不到的,因为你只为它设置了name,和数据库没有什么关系,如果你想teacher.geCourseSet中能获到值,请从数据库中查询teacher信息再取值就OK了,但是我不明白 再创建一个实例就行了是什么意思? 能描述清楚点吗?
1,为什么只设置的name就不行?!当然可以只设置name了,ID是自增长的嘛。
在this.teacherManager.save(teahher)后面,就可以打新的ID打印出来。
System.out.println("***********老师的ID->"+teacher.getId());//这会打印出新增老师的ID。2,新创建实体就是用上面获得的ID,new一个老师。
Teacher teacher2 = this.teacherManager.findById(id);
teacher2.getCourseSet();//这儿就有值。
为什么呢?
里面有没有Teacher 对象的ID呢
2. 当你再次查询时 Teacher teacher2 = this.teacherManager.findById(id);, teacher中集合对象从数据库中从新更新,所以你拿到了。
teacher.setName(teacherName);
this.teacherManager.save(teahher);
这个是把teacher对象进行持久化下面几个语句也是类似,但是问题就在Course 对象在持久化后,teacher对象没有级联变化?
楼主看下按下面的语句操作下,看看打印出来是什么结果?
Teacher teacher = new Teacher();
teacher.setName(teacherName);
Course c1 = new Course();
c1.setTeacher(teacher);
c1.set(courseName1);
this.courseMange.save(c1);
teacher.getCourseSet());//看看这个会不会有值?
teacher.setName(teacherName);
Course c1 = new Course();
c1.setTeacher(teacher);
c1.set(courseName1);
sesion.save(c1); //teacher , course 同在持久化状态,游离态下,你如何同步teacher对象??
teacher.getCourseSet());将Teacher 的 course 属性 inverse=true. 即将主控方转为course, 应该可以。楼主可以试下。
但前提还是要在sesion范围。不能是游离状态。
但前提还是要在sesion范围。不能是游离状态。
<key column="TEACHER_ID"/>
<one-to-many/>
</set>
c1,c2已经成功保存到数据库,而且有teacher的id
不行,提示空的teahcer id,保存c1异常。
把这个方法改下,这个save先保存teacher再保存course,但是要保证两个保存是同一个事务中,同一个session实例,然后再试下结果。