JPA - EntityTransaction与事务

简介: JPA - EntityTransaction与事务

EntityTransaction 接口用来管理资源层实体管理器的事务操作,通过调用实体管理器的getTransaction方法 获得其实例。

其常用方法如下:

① begin

用于启动一个事务,此后的多个数据库操作将作为整体被提交或撤消。

若这时事务已启动则会抛出 IllegalStateException 异常。


 commit

用于提交当前事务。

即将事务启动以后的所有数据库更新操作持久化至数据库中。


③ rollback

撤消(回滚)当前事务。

即撤消事务启动后的所有数据库更新操作,从而不对数据库产生影响。


④ setRollbackOnly

使当前事务只能被撤消。


⑤ getRollbackOnly

查看当前事务是否设置了只能撤消标志。


⑥ isActive

查看当前事务是否是活动的。

如果返回true则不能调用begin方法,否则将抛出 IllegalStateException 异常。

如果返回 false 则不能调用 commit、rollback、setRollbackOnly 及 getRollbackOnly 方法,否则将抛出 IllegalStateException 异常。

示例如下:

    @Before
    public void init(){
        entityManagerFactory = Persistence.createEntityManagerFactory("jpa-1");
        entityManager = entityManagerFactory.createEntityManager();
        //必须先获取事务实例
        transaction = entityManager.getTransaction();
        //开启事务
        transaction.begin();
    }
    @After
    public void destroy(){
        //提交事务
        transaction.commit();
        entityManager.close();
        entityManagerFactory.close();
    }


目录
相关文章
|
Java 开发者 Spring
深入理解Spring Boot的@ComponentScan注解
【4月更文挑战第22天】在构建 Spring Boot 应用时,@ComponentScan 是一个不可或缺的工具,它使得组件发现变得自动化和高效。这篇博客将详细介绍 @ComponentScan 的基本概念、关键属性及其在实际开发中的应用。
883 4
|
IDE 程序员 开发工具
IDEA插件-IKun Progress 坤坤成IDEA进度条了
"IKun Progress"是一款适用于JetBrains IntelliJ IDEA等IDE的插件,该插件能够将标准的进度条替换为一个有趣且独特的篮球动画,其中的角色名为坤坤(Kun Kun)。它旨在为您的IDE使用过程增添一些娱乐和轻松的氛围。 该插件让您可以在执行IDE中的任务时享受到更加视觉上吸引人的进度指示器,例如构建、运行测试或其他涉及进度条的操作。相比传统的普通进度条,您将看到坤坤在打篮球,给您的开发工作流程增添了一份乐趣。
1620 0
IDEA插件-IKun Progress 坤坤成IDEA进度条了
|
Java API 数据安全/隐私保护
如何在Java中处理InvalidKeyException异常?
如何在Java中处理InvalidKeyException异常?
|
搜索推荐 大数据 数据安全/隐私保护
大数据的应用领域
【4月更文挑战第10天】大数据已深入金融(风险评估、欺诈检测)、医疗(精准医疗、疾病预测)、公共服务(交通管理、灾害预测)、电子商务(客户分析、个性化推荐)、制造业(生产控制、优化)及农业(资源配置、生产效率)等多个领域。随着技术进步,应用范围将持续扩展,但需关注隐私保护和数据安全。
577 3
|
移动开发 前端开发
基于flowable没有规则的并发网关流程跳转记录分析
基于flowable没有规则的并发网关流程跳转记录分析
240 0
|
XML 物联网 API
Android Ble蓝牙App(二)连接与发现服务
Android Ble蓝牙App(二)连接与发现服务
542 1
|
SQL 关系型数据库 数据建模
Dify数据库结构导出到PowerDesigner
Dify是开源大语言模型应用开发平台,助力快速构建生成式AI应用。PowerDesigner是SAP的企业级建模工具,用于数据建模、业务流程建模和企业架构规划。通过PostgreSQL的`pg_dump`导出表结构到SQL文件,然后在PowerDesigner中导入生成物理数据模型,从而实现Dify数据库结构到PowerDesigner的迁移。
658 1
【wavesurfer.js实战范例】多区域音频标注(含区域实时切换显示)
【wavesurfer.js实战范例】多区域音频标注(含区域实时切换显示)
319 0
|
移动开发 前端开发
flowable一对并发网关跳转的分析
flowable一对并发网关跳转的分析
431 0
|
XML Java 测试技术
【SpringBoot】基于 Maven 的 pom.xml 配置详解
【SpringBoot】基于 Maven 的 pom.xml 配置详解
1616 0
【SpringBoot】基于 Maven 的 pom.xml 配置详解

热门文章

最新文章