jpa transaction 回滚_JPA系列–JPA中的UserTransaction的理解

一、前言

今天中午一小伙伴在进行JPA的相关配置时遇到一些疑惑点,自己思考了一下也没有搞明白,就查了一些资料,翻看了之前的一些代码,逐渐搞明白了几点。写一博客分享之。

二、UserTransaction简析

2.1 代码展示

请看下面一段代码:

1.注意看javax.transaction.UserTransaction

import javax.transaction.UserTransaction;

@Inject

private UserTransaction utx;

1

2

3

4

importjavax.transaction.UserTransaction;

@Inject

privateUserTransactionutx;

2.注意看UserTransaction的实例化方式

private UserTransaction utx = entityManager.getTransaction();

1

privateUserTransactionutx=entityManager.getTransaction();

2.2 官方文档解析

UserTransaction的Java EE6官方文档是这样定义的:

The UserTransaction interface defines the methods that allow an

application to explicitly manage transaction boundaries.

UserTransaction

接口定义的方法允许应用程序显式地管理事务边界。

换言之,UserTransaction是Java EE中用来进行事务管理的一个接口。

其主要实现方法有如下几个:

begin()

getStatus()

rollback()

setRollbackOnly()

setTransactionTimeout(int seconds)

三、JPA中的事务管理

3.1 事务管理相关概念理解

事务的概念:

事务是应用程序中一系列严密的操作的集合,也就是两个及两个以上操作的集合。事务的特点是,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。

同时也就意味着事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。

事务机制的优势:

使用事务机制的好处非常明显,例如银行转账之类的交易操作中,事务有着重要的作用。事务的成功取决于事务单元帐户相互依赖的操作行为是否能全部执行成功,只

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值