奇怪的问题,hibernate每次查询的结果都不同

l1ul1u 2008-12-29 12:39:52
程序代码如下:
try{
PersistenceService persistenceService = PersistenceServiceImpl.getInstance();

persistenceService.clear();
//persistenceService.getSession().merge(tvc);
persistenceService.update(tvc);
return true;
}catch(HibernateException e){
logger.error("错误 "+e.getLocalizedMessage());throw e;
}finally{
}

persistenceService.clear();//没加这一行前总是报错,a different object with the same identifier value was already associated with the session

但是加了这一行后,错误没有了,但每次查询的结果都不同,一个是执行update前的,一个是执行update后,轮流出现,
又看了配置文件都没有问题的。

请高手帮忙解答,万分感谢。
...全文
139 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
joejoe1991 2008-12-29
  • 打赏
  • 举报
回复
session里面有着拥有多个相同标识的不同对象。
所以异常了。。

你的那个tvc应该不是通过Session得到的把。。
SmallFishZhang 2008-12-29
  • 打赏
  • 举报
回复
学习
wj_18 2008-12-29
  • 打赏
  • 举报
回复
你清楚的时机不对,你在提交事务清楚,在缓存中还有一份数据呢,他照样会提交,建议把clear ,flush等操作放到视图提交后,就是save update等方法后
zou_wei_forever 2008-12-29
  • 打赏
  • 举报
回复
是不是共享的session啊
freedomTTT 2008-12-29
  • 打赏
  • 举报
回复
persistenceService.update(tvc); //是一个对象

Transaction
session
commit
close
这些东西在persistenceService.update实现的。


也就是你执行一次更新做一次查找,
更新 id:1 数据:1
查询出 id:1 数据:1
更新 id:2 数据:2
查询出 id:2 数据:2
既然session在update()方法内实现了,那二级缓存应该没了呀
Rachael1001 2008-12-29
  • 打赏
  • 举报
回复
没加这一行前总是报错,
a different object with the same identifier value was already associated with the session
-----------------------------------------------------------------------------------------
问题就在这里
你对同一个id的tvc进行脏操作
那个tvc还没有操作完毕,你就继续新的操作了
ffumax 2008-12-29
  • 打赏
  • 举报
回复
帮顶
l1ul1u 2008-12-29
  • 打赏
  • 举报
回复
persistenceService.update(tvc); //是一个对象

Transaction
session
commit
close
这些东西在persistenceService.update实现的。
bobskay 2008-12-29
  • 打赏
  • 举报
回复
你的tvc是什么东西啊,怎么查出来的
对于Persistent(持久)的对象不必显式调用update的.
zjc_love 2008-12-29
  • 打赏
  • 举报
回复
a different object with the same identifier value was already associated with the session
session中已经存在有个对象和你要加载的对象的OID相同
你清空了 肯定就没有问题了
但是我看不太明天你的代码的意思
hibernate中一般不是
Transaction
session
commit
close么

81,092

社区成员

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

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