日期:2014-05-18  浏览次数:20713 次

谢谢大家帮解决个问题
我要更新一个数据     然后写了一个类   用hibernate的save方法    
  在jsp调用这个方法       然后访问这个页面的时候出现下面错误    
org.hibernate.HibernateException:   illegally   attempted   to   associate   a   proxy   with   two   open   Sessions
org.hibernate.proxy.AbstractLazyInitializer.setSession(AbstractLazyInitializer.java:68)
org.hibernate.engine.PersistenceContext.reassociateProxy(PersistenceContext.java:520)
org.hibernate.engine.PersistenceContext.unproxyAndReassociate(PersistenceContext.java:565)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:65)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:481)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:476)
app.Fprk.updateWzkcxxb(Fprk.java:51)
org.apache.jsp.Untitled_002d1_jsp._jspService(Untitled_002d1_jsp.java:299)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

                        这是什么原因啊

------解决方案--------------------
你的问题是把不同session里的PO关联到一起,然后对其中一个进行操作所报出的错误

如果你的PO都是生存于同一个session,或者说,是从同一个DAO中load出来的话,我想就没有上面Exception了