一个事务中如何用两个session?

zdwpeicun 2009-10-18 11:57:05
public String newPassword(String email,String question,String answer,String newPassword){
Bloger bloger = findByEmailQuestionAnswer(email, question, answer);
if(bloger != null){
bloger.setBlogerId(bloger.getBlogerId());
bloger.setBlogerPassword(newPassword);

attachDirty(bloger);
return "success";
}

报的错:Illegal attempt to associate a collection with two open sessions
...全文
414 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
robyjeffding 2009-10-19
  • 打赏
  • 举报
回复
要不就写成一个方法,共用一个session;在这个方法里首先查找对象,再判断是否为null,不为null的话做修改,最后再一并把session关掉!
基本要牢靠 2009-10-19
  • 打赏
  • 举报
回复
等答案。我也跑这个错。。上面说的配置penSessionInViewFilter,我也配置了。但还是跑这个错。
高手帮忙去我的贴看看。。
zdwpeicun 2009-10-18
  • 打赏
  • 举报
回复
高手呢?
scean_1 2009-10-18
  • 打赏
  • 举报
回复
自己控制session的时候,建议采用ThreadLocal对象,把session缓存到线程变量中,这样就可以保证每次取得的session都是同一个session了。
scean_1 2009-10-18
  • 打赏
  • 举报
回复
从这个英文错误信息中可以读出,session并没有被关闭,因为说two open sesssions。感觉是你在一个请求中开启了两个session,通常是没有采用openSessionInViewFilter的结果,也就是session是自己控制开闭的。如果是这样,你尝试关闭之前打开的session看看。或者更改成openSessionInViewFilter来处理session的开闭。
水中影子 2009-10-18
  • 打赏
  • 举报
回复
两个session,用哪个打开那个,不用就close
qiaozirue 2009-10-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaozejun 的回复:]
session不关啊
或者你也可以再web.xml里面配置
openSessionInViewFilter
[/Quote]

正解
  • 打赏
  • 举报
回复
session 没有打开啊。open Session
xiaozejun 2009-10-18
  • 打赏
  • 举报
回复
session不关啊
或者你也可以再web.xml里面配置
openSessionInViewFilter

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧