(captured from a very good Hibernate Book, copyright belongs to the author)
First type lost
First transaction’s rollback overwrite second transaction’s update on same record
Second type lost
First transaction’s commit overwrite second transaction’s update on the same record
Dirty Read
Read uncommitted data
Phantom Read
Second read get extra record
Non-repeatable read
Two read return’s different result.
(All above issues is due to someone did something in the middle of a transaction, I hate being interupted)
If one session has exception, need close it, not resue again.
Database Lock types
share
exclusive
update
Database lock applied ranges
1. database
2. table
3. area
5. page
6. record
...
Transaction optimize
1. short transaction
2. reduce the transaction isolation level if consistency is not strict
Database Lock
1. Optimistic lock
- Version field goes after the definition of ID
- timestamp can also do the job
- version is better than timestamp, because system only check to second, actually transaction might happen within 1 second.
2. Pessmistic lock
- application lock through database exclusive lock
- database add extra column as locker
- 描述: transaction1
- 大小: 13.2 KB
分享到:
相关推荐
Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed 这表明Hibernate事务回滚操作失败,导致事务不能正确回滚。 二、问题原因 该问题的...
本资源提供的"软件依赖包(Spring AOP+Hibernate Transaction)"正是这样一种集合,它包含了Spring AOP和Hibernate Transaction管理的jar文件,使得开发者能够便捷地在Java应用中实现面向切面的编程(AOP)以及事务...
《深入理解Hibernate+Transaction在MyEclipse6中的应用实践》 在现代的Java Web开发中,数据持久化是一个至关重要的环节。Hibernate作为一种流行的Object-Relational Mapping(ORM)框架,极大地简化了数据库操作,...
【Spring与Hibernate、Maven和Transaction的整合】 在现代Java Web开发中,Spring框架、Hibernate持久化工具和Maven构建工具是不可或缺的部分。Spring提供了强大的依赖注入和面向切面编程能力,Hibernate则简化了...
在Java的持久化框架Hibernate中,`Session`和`Transaction`是两个至关重要的概念,它们在数据管理和事务处理中起到核心作用。这篇文章将深入解析这两个概念及其相关知识点。 `Session`是Hibernate提供的一种与...
### Hibernate入门:理解Hibernate Transaction机制 #### 一、概述 Hibernate作为一款流行的Java持久层框架,在简化数据库操作的同时,也提供了强大的事务管理功能。本文旨在深入探讨Hibernate事务管理机制,特别...
本示例"Transaction.rar"是一个关于Spring整合Hibernate进行事务管理的实例,使用了注解方式来配置和管理事务。下面我们将深入探讨相关知识点。 首先,事务管理是数据库操作的核心部分,确保数据的一致性和完整性。...
-- Hibernate Transaction Manager --> <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> ``` ### 5. AOP事务管理 为了实现事务的自动化管理,我们...
本文将深入研究Hibernate中的`Session`和`Transaction`,这两个概念是理解Hibernate工作原理的关键。 首先,让我们了解`Session`。在Hibernate中,`Session`充当了应用程序与数据库之间的桥梁,它是持久化操作的...
2. 配置Hibernate Transaction Manager:接着,配置HibernatePlatformTransactionManager,它实现了Spring的PlatformTransactionManager接口,使得Spring可以控制Hibernate的事务。 3. 配置事务传播行为:通过@...
通过配置`hibernate.transaction.factory_class`为`net.sf.hibernate.transaction.JTATransactionFactory`来启用JTA事务。 ```properties hibernate.transaction.factory_class=...
9. 第三方库依赖:Hibernate自身依赖于其他库,如JTA(Java Transaction API)用于处理事务,JPA规范库,以及一些日志和反射相关的库,这些可能在压缩包中也有包含。 10. 测试实践:结合Junit4,开发者可以编写针对...
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup ``` #### 三、方言配置(Dialect) 方言配置是Hibernate与不同类型的数据库进行交互的基础,它决定了...
6. **事务管理**:Hibernate支持JTA(Java Transaction API)和JDBC事务管理。通过`Session`的`beginTransaction()`、`commit()`和`rollback()`方法,可以方便地控制事务的边界。 7. **缓存机制**:Hibernate包含一...
Hibernate的核心组件包括Configuration、SessionFactory、Session、Transaction和Query。Configuration负责读取配置文件并初始化SessionFactory,SessionFactory是线程安全的,用于创建Session实例。Session是与...
4. **Transaction管理**:Hibernate支持JTA(Java Transaction API)和JDBC事务,确保数据操作的原子性和一致性。 5. **第二级缓存**:除了默认的一级缓存(Session级别),Hibernate还支持二级缓存,这可以显著...
hibernate3.jar是主要的Hibernate库文件,包含了框架的核心组件,包括Entity管理、Session接口、Transaction管理、Query服务等。这个单一的JAR文件使开发人员能够快速地在项目中集成Hibernate3,而不必逐个添加众多...
在Hibernate中,事务处理是通过Session的beginTransaction()、commit()和rollback()方法实现的。了解事务的ACID特性以及如何在Hibernate中处理事务,可以确保数据的一致性。 7. **一对多、多对一、多对多关联映射*...
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java...Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。
3. **Transaction**: 事务是数据库操作的基本单位,Hibernate通过Transaction接口提供对事务的支持。 4. **Mapping**: Hibernate通过映射文件(如*.hbm.xml文件)或者注解来定义Java对象与数据库表之间的映射关系。 ...