在同一个事务中,调用了以下两个方法: method_1(){ 1、load 表A中id为“1”的记录(不加锁); 2、用查询出的结果做简单的比较操作        3、完成} method_2() { 1、load 表A中id为“1”的记录 for update; 2、修改查询出的记录 3、提交update} 问题如下:如果执行完method_1的时候,表A中id为“1”的记录被另外一个线程更新了,但此时在method_2中load for update的时候取到的仍然是method_1中hibernate缓存的记录,而不会从数据库中重新查询该笔记录,从而导致数据库丢失更新。不知道各位大虾在项目中有没有什么好的解决方案? 也许可以通过clear先清除hibernate缓存后再查询,但是问题是method_1和method_2可能是不同的人写的,那写的人又如何知道什么时候应该要去clear hibernate缓存呢?