我需要从数据库中获取一些数据,并根据结果需要执行另一个查询。

但我得到以下例外:

org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

我的代码:

Session tempSession1 = HibernateUtil.getSessionFactory().openSession();
                 Session tempSession2 = HibernateUtil.getSessionFactory().openSession();
                                   Criteria criteriaApplication = tempSession1.createCriteria(Entity.class);
               try {

                    List list = criteriaApplication.add(Restrictions.eq("app__id",Entity.sys_id()).ignoreCase()).list();
                    tempSession1.flush();
                    tempSession1.close();
                    if (list.size() > 0) {


                          tempSession2.update(Entity);
                          tempSession2.flush();
                          tempSession2.close();


                     }


请帮忙。有人可以修改我的代码吗?

最佳答案

您在以下情况下收到此异常

*根据您的锁定设置,您会话中要更新的实体不够最新

*您要更新的会话中的实体不再存在于数据库中

08-08 06:22