基于JDBC的事务管理
-
通过SessionFactoy获得Session对象
Session session = sessionFactory.openSession();
-
通过Session对象开始一个事务
Transaction t = session.beginTransaction();
-
进行相关的数据操作
-
事务提交
t.commit();
-
如果事务处理出现异常,则撤销事务(通常称为事务回滚)
t.rollback();
-
关闭Session,结束操作
session.close();
基于JTA的事务管理
JTA ( Java Transaction API)是由Java EE Transaction Manager管理的事务,其最大的特点是调用UserTransaction接口的begin()、 commit()和rollback()方法来完成事务范围的界定、事务的提交和回滚。JTA 可以实现同- 事务对应不同的数据库。
拦截器的应用
可以通过session方式加载拦截器对象,也可以通过Configuration对象加载拦截器
-
session:只对当前的session进行拦截,又叫做局部拦截器
sessionFactory.openSession(Interceptor interceptor)
-
Configuration:对所有的session都会被拦截,全局拦截器
Configuration的setInterceptor(Interceptor interceptor)