与hibernate的不同之处,需要先创建,然后再开启,而hibernate直接开启。
//创建事务
entityTransaction=entityManager.getTransaction();
//开启事务
entityTransaction.begin();
- EntityTransaction 接口用来管理资源层实体管理器的事务操作。通过调用实体管理器的getTransaction方法 获得其实例。
begin ()
- 用于启动一个事务,此后的多个数据库操作将作为整体被提交或撤消。若这时事务已启动则会抛出 IllegalStateException 异常。
commit ()
- 用于提交当前事务。即将事务启动以后的所有数据库更新操作持久化至数据库中。
rollback ()
- 撤消(回滚)当前事务。即撤消事务启动后的所有数据库更新操作,从而不对数据库产生影响。
setRollbackOnly ()
- 使当前事务只能被撤消。
getRollbackOnly ()
- 查看当前事务是否设置了只能撤消标志。
isActive ()
- 查看当前事务是否是活动的。如果返回true则不能调用begin方法,否则将抛出 IllegalStateException 异常;如果返回 false 则不能调用 commit、rollback、setRollbackOnly 及 getRollbackOnly 方法,否则将抛出 IllegalStateException 异常。