日期:2014-05-17  浏览次数:20648 次

曾遇到过这种奇怪现象的请帮帮忙
异常信息:object references an unsaved transient instance - save the transient instance before flushing:my.try.Klass

我的项目情况如下:(Student学生 引用 Klass班级)
  在addStudent.jsp中,我有一个选择班级的下拉列表,它的name属性值是"student.klass.id"(<select name="student.klass.id">...</select>);
  然后该页面会提交到StudentAction中,在StudentAction类中,封装了Student对象student(这样就能接收到addStudent.jsp中的数据并给该student对象赋值),我调试时清楚地看见,student对象中的klass对象的id值已经从addStudent.jsp页面中得到(即有值),然而当调用添加方法添加该student时,就报上面的异常。

  谁知道,帮帮忙,谢谢

------解决方案--------------------
看错误提示和你的描述,应该是你使用了transient字段,在反序列化回来的时候,信息丢失了
transient表示在序列化的时候,不保存该信息,在bean中表示非持久性,所以你的bean的该信息,是不能被保存到数据库的