攻城狮在路上(壹) Hibernate(十六)--- Hibernate声明数据库事务
2014-06-14 21:55
253 查看
一、数据库事务的概念:
数据库的ACID特征:Atomic、Consistency、Isolation、Durability。原子性、一致性、隔离性、持久性。不同的隔离级别引发的不同问题。
事务的ACID特征是由数据库管理系统来实现的。
数据库管理系统通过锁机制来实现事务的隔离性。
二、声明事务边界的方式:
1、声明事务包含以下内容:
A、事务的开始边界(BEGIN):
B、事务的正常结束边界(COMMIT):提交事务。
C、事务的异常结束边界(ROLLBACK):撤销事务。
2、声明事务有以下方式:
A、直接通过JDBC API来声明JDBC事务。
B、直接通过Hibernate API来声明JDBC事务。
C、直接通过Hibernate API来声明JTA事务。
D、直接通过JTA API来声明JTA事务。
三、Java应用通过JDBC API来声明JDBC事务:
Connetion类提供的控制事务的方法:
setAutoCommit(boolean autoCommit):
commit():提交事务。
rollback():撤销事务。
四、Java应用通过Hibernate API声明JDBC事务:
在Hibernate API中,通过Session和Transaction接口声明事务边界:
五、Java应用通过Hibernate API声明JTA事务:暂不了解。
JTA事务主要运行在受管理环境中。
1、特点:
A、一般由底层JTA实现来提供和管理数据库连接池。
B、数据库连接池与JNDI绑定,应用程序可通过JNDI API来访问数据库连接池。
C、在处理复杂的大事务方面,由JTA实现提供的数据库连接池更加健壮可靠,性能优越。
D、通过JTA API来声明JTA事务时,支持分布式事务。
E、JTA事务在运行时并不会产生额外的系统开销。
2、声明步骤:
A、在配置文件中配置相关属性即可:
B、通过Hibernate API声明即可,方式和JDBC类似。
六、Java应用通过JTA API声明JTA事务:暂不了解。
数据库的ACID特征:Atomic、Consistency、Isolation、Durability。原子性、一致性、隔离性、持久性。不同的隔离级别引发的不同问题。
事务的ACID特征是由数据库管理系统来实现的。
数据库管理系统通过锁机制来实现事务的隔离性。
二、声明事务边界的方式:
1、声明事务包含以下内容:
A、事务的开始边界(BEGIN):
B、事务的正常结束边界(COMMIT):提交事务。
C、事务的异常结束边界(ROLLBACK):撤销事务。
2、声明事务有以下方式:
A、直接通过JDBC API来声明JDBC事务。
B、直接通过Hibernate API来声明JDBC事务。
C、直接通过Hibernate API来声明JTA事务。
D、直接通过JTA API来声明JTA事务。
三、Java应用通过JDBC API来声明JDBC事务:
Connetion类提供的控制事务的方法:
setAutoCommit(boolean autoCommit):
commit():提交事务。
rollback():撤销事务。
四、Java应用通过Hibernate API声明JDBC事务:
在Hibernate API中,通过Session和Transaction接口声明事务边界:
Transaction tx = session.beginTransaction(); tx.commit(); tx.rollback();
五、Java应用通过Hibernate API声明JTA事务:暂不了解。
JTA事务主要运行在受管理环境中。
1、特点:
A、一般由底层JTA实现来提供和管理数据库连接池。
B、数据库连接池与JNDI绑定,应用程序可通过JNDI API来访问数据库连接池。
C、在处理复杂的大事务方面,由JTA实现提供的数据库连接池更加健壮可靠,性能优越。
D、通过JTA API来声明JTA事务时,支持分布式事务。
E、JTA事务在运行时并不会产生额外的系统开销。
2、声明步骤:
A、在配置文件中配置相关属性即可:
#指定数据库连接池的JNDI hibernate.connection.datasource=java:comp/env/jdbc/SAMPLEDB #指定事务工厂 hibernate.transaction.factory_class=org.hibernate.transaction.JTATransactionFactory hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JbossTransactionManagerLookup
B、通过Hibernate API声明即可,方式和JDBC类似。
六、Java应用通过JTA API声明JTA事务:暂不了解。
相关文章推荐
- Java程序员从笨鸟到菜鸟之(六十五)细谈Hibernate(十六)数据库事务与隔离级别
- Java程序员从笨鸟到菜鸟之(六十五)细谈Hibernate(十六)数据库事务与隔离级别
- Hibernate(十六)数据库事务与隔离级别
- 精通Hibernate——数据库的事务与声明事务边界
- Hibernate(十六)数据库事务与隔离级别
- spring2.5 hibernate 配置最少的事务处理(声明切面)
- Hibernate的数据库事务
- spring 声明hibernate 事务的方法(转)
- 使用MyEclipse中用Hibernate反向工程生成的DAO会发生对象无法存储到数据库的现象,原因是没有运用事务。
- 主题:数据库事务与并发(Hibernate)
- sql server 存储过程(事务,带参数声明,数据库瘦身)
- 数据库事务和Hibernate事务
- 数据库相关--Hibernate的事务和并发
- 攻城狮在路上(壹) Hibernate(二)--- 第一个hibernate程序
- Spring整合hibernate -声明事务管理
- Spring整合Hibernate开发 - 使用事务管理器操作数据库 - 主配置文件
- Spring+hibernate的session问题 声明事务管理是否起作用
- Hibernate中对数据库的session操作除了查询操作外,都必须在事务(Transaction)提交后才能执行
- 配置Springframework与hibernate连接多数据库的事务
- 在一个事务中,hibernate的查询数据,不要在set值,比如:密码解密,否则会重新更新到数据库中