(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事务回滚操作失败,导致事务不能正确回滚。 二、问题原因 该问题的...
介绍Hibernate+Transaction+myeclipse6+事例的应用参考工程源码.
spring-hibernate-maven-transaction整合
该软件依赖包,为实例spring aop实现Hinernate事务操作软件包
可以对hibernate的 Session 和 Transaction 有更深入的认识 希望对一些概念比较模糊的人 有帮助
NULL 博文链接:https://stewchicken.iteye.com/blog/938875
hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置实体规则,核心API详解(Configuration,sessionFactory,session,Transaction),hibernate中的对象状态以及刷新能缓存机制 ...
Hibernate Web应用的开发一般经过以下几个步骤: (1)创建数据库。 (2)将Hibernate所需的JAR包复制到WEB-...(8)通过创建的Transaction实例进行事务管理。 (9)通过创建的Query或Criteria实例实现数据库的查询。
antlr-2.7.7 c3p0-0.9.2.1 dom4j-1.6.1 hibernate-c3p0-4.3.5.Final hibernate-commons-annotations-...jboss-transaction-api_1.2_spec-1.0.0.Final mchange-commons-java-0.2.3.4 mysql-connector-java-5.1.30-bin
基于dubbo和hibernate的分层例子,并有一个dubbo client模拟消费者
Hibernate稳定版(hibernate-release-5.2.18.Final.zip),Hibernate ORM 是一个为应用程序、库和框架提供对象/关系映射 (ORM) 支持的库。它还提供了 JPA 规范的实现,这是 ORM 的标准 Java 规范。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java...Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。
Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务...
The book keeps its focus on Hibernate without wasting time on nonessential third-party tools, so you’ll be able to immediately start building transaction-based engines and applications. Experienced ...
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.WebSphereTransactionManagerLookup #hibernate.transaction.manager_lookup_class org.hibernate.transaction....
jboss-transaction-api_1.1_spec-1.0.1.Final jboss-logging-3.1.0.GA javassist-3.18.1-GA javassist-3.18.1-GA hibernate-core-4.2.21.Final hibernate-commons-annotations-4.0.2.Final dom4j-1.6.1 antlr-2.7.7
hibernate基础jar包。包含junit,antlr,don4j,hibernate-commons-annotations,hibernate-core,hibernate-jpa-api,javassit,jboss-logging,jboss-transaction-api
session.beginTransaction(); Teacher t = (Teacher) session.get(Teacher.class, 3); t.setName("yangtb2"); session.update(t); session.getTransaction().commit(); } } ``` 然而,Hibernate 生成的 SQL ...
jta.jar 当使用JTA规范时,必须加入,JTA全称是 Java Transaction API (java 事务 API),一般情况下也是必须的. slf4j-api-1.6.1.jar 这个包是必须的,因为在Hibernate的核心包中多处用到了,比如Configuration.class中用...
The book keeps its focus on Hibernate without wasting time on nonessential third-party tools, so you’ll be able to immediately start building transaction-based engines and applications. Experienced ...