这两天闲来无事,从
infoQ下载了
javatransactionsbook.pdf看看。这本书写的还是蛮直白的,很多知识都比较常见,正好巩固一下自己并不扎实的基础。
事务(transaction)分三种类型
Local transaction model
只能用来操作connetion,不适用于transaction.譬如说,
conn = getConnection();
conn.setAutoCommit(false);
. . .
conn.commit()/rollback();
一般用于小型的应用,不足之处在于开发人员处理transaction时需要非常小心。还有一点就是无法加入到XA事务中去。
Programmatic transaction model
基本与前者相似,区别在于前者控制connection,后者使用transaction.
UserTransaction ut = getUserTransaction() ;// loop up JNDI
ut.begin();
ut.rollback()/commit();
一般用于BMT事务,当然也可用于client端控制多个业务方法,进而达到事务控制。
Declarative transaction model
比较常见的是EJB的CMT事务。
当然有一点需要注意的是对于application exception,需要手动的SessionContext。setRollbackOnly,否则的话容器不会回滚。还有一种做法是将application exception包装成EJBException,这样的话也可以达到回滚的效果,只不过回传到client的exception比较冗长不直观。
按理说DDL是不能回滚的。我尝试过在SQLServer中可行,但是Oracle不能,奇怪?
补充一下一直比较混淆的概念:
- JTA
- JTS
The relationship of JPA and JTS is similar as JDBC and JDBC driver.One is spec,another is implementation.
pdf继续阅读中
分享到:
相关推荐
除此之外,Java EE的网络通信、安全、JMS(Java Message Service)、JTA(Java Transaction API)等都是开发者需要掌握的重要知识点。网络通信涉及到HTTP、HTTPS等协议,以及WebSocket等实时通信技术;安全性包括...
5. **JTA(Java Transaction API)**:JTA定义了事务管理的标准接口,使得应用可以进行分布式事务处理。在Java Web环境中,容器(如Tomcat或WebLogic)通常会提供对JTA的支持,确保多操作的原子性、一致性、隔离性和...
Java经典笔记(SHH)是一份深度覆盖Java开发技术的宝贵资源,包含了Struts、Spring和Hibernate这三大著名框架的详细讲解。这份笔记是作者经过两个月深入学习和实践的结晶,旨在帮助Java开发者全面掌握核心技术和实用...
**Java JDK 6.0 学习笔记** Java JDK(Java Development Kit)是Java编程语言的核心组件,包含Java运行环境、编译器、类库以及各种工具,是开发者进行Java程序开发的基础。Java JDK 6.0是Oracle公司发布的一个重要...
"达内java笔记,精挑细选(达内助教整理)"是一个专门为学习Java和J2EE技术而准备的学习资料集,包含了助教精心筛选和整理的知识要点。这份笔记将帮助初学者或有经验的开发者快速掌握J2EE的核心概念和技术。 首先,...
### JAVA学习笔记2:深入理解JDBC与J2EE事务管理 #### 1. JDBC连接池与资源管理 在JAVA学习的过程中,理解JDBC(Java Database Connectivity)的重要性不容忽视。JDBC是Java语言中用来规范客户端程序如何访问...
【Java相关课程系列笔记之十四Hibernate学习笔记】 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本笔记将详细阐述Hibernate的核心概念、使用方法和特性。 一、...
Java Transaction API (JTA) 和Java Transaction Service (JTS) 提供了分布式事务管理的框架,允许跨多个资源(如数据库和消息队列)的事务操作。 6. 高可用性和容错 为了确保系统的稳定性,Java提供了负载均衡...
【Java学习笔记doc】Hibernate学习教程和笔记 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java开发者与数据库之间的交互。这个文档集合是针对Java初学者和进阶者的一份宝贵资料,旨在深入理解...
Java是一种广泛使用的高级编程...以上仅是Java面试笔记中的部分知识点,实际面试中可能涉及更多细节和深入问题。对于求职者来说,熟练掌握这些基础知识,并能结合实际项目经验进行深入讨论,将有助于在面试中脱颖而出。
学习笔记中,可能会讲解Hibernate配置、实体类、映射文件、Session和Transaction的使用,以及查询语言HQL等。 通过这些笔记,你将能够深入理解Java编程语言、数据库管理和企业级开发的关键技术,为成为合格的Java...
5. **Java EE相关技术**:包括JNDI(Java Naming and Directory Interface)、JTA(Java Transaction API)和JMS(Java Message Service)等,这些在企业级Java应用中广泛使用,笔记可能涉及这些技术的基本概念和...
【hibernate个人学习笔记完整版】是一份详尽的资料,涵盖了Hibernate框架的基础到高级应用,旨在帮助学习者深入理解和掌握这一强大的Java对象关系映射(ORM)工具。Hibernate作为Java开发中的主流ORM框架,它极大地...
7. **JTA(Java Transaction API)** - JTA定义了分布式事务处理的标准,确保在多组件环境中的一致性和可靠性。 8. **JMS(Java Message Service)** - JMS允许应用之间通过消息进行通信,支持点对点和发布/订阅...
通过创建一个简单的Java项目,引入Hibernate库,并编写一个实体类与数据库表对应,你会了解如何初始化SessionFactory,创建Session,以及执行基本的保存和查询操作。 2. **Hibernate原理模拟 - O/R Mapping** O/R ...
Java Hibernate笔记是针对Java开发人员深入理解Hibernate框架的重要学习资料,尤其对于从事J2EE企业级应用开发的工程师来说,Hibernate是一个不可或缺的工具。Hibernate是一个开放源代码的对象关系映射框架,它对...
虽然Spring框架在这份笔记中缺席,但值得一提的是,Spring在企业级应用中更为全面,它整合了Struts2和Hibernate,并提供了更多的功能,如依赖注入(DI)、面向切面编程(AOP)、Spring MVC、Spring Data JPA等。...
### JAVA高级软件工程师培训笔记知识点概述 #### 一、Hibernate数据持久化组件 ##### 对象持久化(Object Persistence) - **定义**: 对象持久化是指将内存中的数据对象保存到持久化的存储介质上(如硬盘、数据库等...