one session per request with detached object parten 求解

   小弟自学ssh2一段时间了,其间也做了一些小项目,但是有个地方老是搞不清楚,一直很苦恼,希望哪位精通ssh的大大能给我一个详细一点的解答;
    对于hibernate开发文档里面,提到的one session per request with detached object parten开发模式,感到相当纠结,按照自己的理解应该是web.xml里面配置opensessioninview,托管于spring,每次在view层提交一次,在整个request过程中,只会出现一次session open和session close,但是如果有三个数据库表,分别为book ,user,borrowbook,分别记录的是用户,图书信息,借阅信息,其中borrowbook表是记录用户和book的关联信息,也就是实体Borrowbook对于Book是一对一,Borrowbook对于User是多对一的关系。好了,现在,如果我在view层上想借一本书,view层提供了userid,和bookid,所以提交的时候,在action层,是不是应该先根据userid和bookid拿出user和book的持久化对象,然后新建一个Borrowbook的瞬态对像,然后用borrowbook.add(user),borrowbook.add(book),borrowbook.add(new Date()),然后在action层调用service的save方法进行持久化???但是如果时这样的话,我用debug查看,发现session打开三次,也关闭了三次,囧,感觉这和one session per request with detached object parten 的概念有出路,哪位大大可以给个相信的解答啊 ,谢谢

自己解决了,嘿嘿,居然是struts.xml配置文件出现问题,debug是个好东西,嘿嘿,还有就是,在web.xml中dwr忘记给添加<filter-mapping>
<filter-name>openSessionInView</filter-name>
<url-pattern>/dwr/*</url-pattern>
</filter-mapping>
囧啊,不过困扰多日的问题能够解决还是很兴奋,当然这不得不感谢土豆老大的提醒了,

你可能感兴趣的:(spring,Hibernate,struts,ssh,DWR)