我相信由于交易嵌套,我得到JDO提交异常,虽然我不确定。
当另一个待处理时,这会检测到我正在开始交易的情况吗?
PersistenceManager pm = PersistenceManagerFactory.get().getPersistenceManager();
assert pm.currentTransaction().isActive() == false : "arrrgh";
pm.currentTransaction().begin();
有更好或更可靠的方式吗?
答案 0 :(得分:0)
由Ikai Lan(谷歌)提供
您无法检测交易是否有效。原因是数据存储区实体组没有悲观锁定:它们被乐观锁定。也就是说,检查应用程序是否在陈旧数据上运行是在写入时检查,而不是在数据读取时检查。