在我们的网站上,我们有两个针对同一个表的操作,一个是读取多行,另一个是删除一行。
我们使用的是 Spring 3.1 和 Hibernate 3.6。
确切的操作是
EntityManager.createQuery().getResultList();
和
EntityManager.remove();
我们在 remove() 线程上得到了 StaleObjectStateException,而不是在 getResultList() 线程上。问题是,为什么读取会导致 StaleObjectException?