只是为了验证 - commit()
引发了异常,不是吗?
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
pm.currentTransaction().begin();
List<Row> Table = (List<Row>) pm.newQuery(query).execute();
Table.get(0).setReserved(true); // <----- we change only this element
pm.currentTransaction().commit();
} catch (JDOCanRetryException ex) {
pm.currentTransaction().rollback() // <----- if Table.get(1) was changed by another client do we get to this point???
}
答案 0 :(得分:1)
1。)只有在事务期间该实体在其他地方被修改时才会抛出异常。
2。)正确,提交时将抛出异常。
您还必须致电pm.makePersistent(Table.get(0))
以保存更改。