【发布时间】:2013-08-23 15:22:20
【问题描述】:
我收到以下异常:
org.hibernate.StaleObjectStateException:行已被另一个事务更新或删除(或未保存值映射不正确):[
当我再次尝试使用表单更新对象时会发生这种情况。所以第一次它运行良好,但是当我再次尝试更新同一个对象时,我得到了那个异常。
可以在会话中刷新吗?
这是我的实体
@PersistenceContext(unitName = "JPAService", type = PersistenceContextType.EXTENDED)
private EntityManager nasc;
这是我的服务:
@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRED)
@TransactionManagement(TransactionManagementType.CONTAINER)
谢谢!
【问题讨论】:
-
第一个休眠会话是否关闭并提交了事务?看起来两个单独的线程启动了会话,都从数据库中获取了相同的对象。当第一次更新实体时,任何第二次尝试做同样的事情都会导致过时的对象异常。
标签: hibernate transactions ejb jboss7.x optimistic-concurrency