hibernate3 的事务管理 HibernateORMDAO
程序员文章站
2022-07-12 18:27:39
...
以下是一个例子
==============================
package com.adasoft.sms.dao.hibernate;
import java.util.List;
import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class test extends HibernateDaoSupport{
/**
*
* @param insertList
* @return
*/
public boolean InsertEmployees(List insertList){
boolean result=true;
// SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
// Session session= sessionFactory.openSession();
Session session=SessionFactoryUtils.getSession(getSessionFactory(), true);
session.setFlushMode(FlushMode.COMMIT );
Transaction tx = null;
try {
tx = session.beginTransaction();
for(int i=0;i<insertList.size();i++){
//Employee employee=new Employee();
//employee=(Employee)insertList.get(i);
//this.saveEmployee(employee);
//.....
}
tx.commit();
}
catch (RuntimeException e) {
if (tx != null) tx.rollback();
result=false;
throw e; // or display error message
}
finally {
session.close();
}
return result;
}
}
==============================
package com.adasoft.sms.dao.hibernate;
import java.util.List;
import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class test extends HibernateDaoSupport{
/**
*
* @param insertList
* @return
*/
public boolean InsertEmployees(List insertList){
boolean result=true;
// SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
// Session session= sessionFactory.openSession();
Session session=SessionFactoryUtils.getSession(getSessionFactory(), true);
session.setFlushMode(FlushMode.COMMIT );
Transaction tx = null;
try {
tx = session.beginTransaction();
for(int i=0;i<insertList.size();i++){
//Employee employee=new Employee();
//employee=(Employee)insertList.get(i);
//this.saveEmployee(employee);
//.....
}
tx.commit();
}
catch (RuntimeException e) {
if (tx != null) tx.rollback();
result=false;
throw e; // or display error message
}
finally {
session.close();
}
return result;
}
}
推荐阅读
-
解决Django transaction进行事务管理踩过的坑
-
【面试】足够“忽悠”面试官的『Spring事务管理器』源码阅读梳理(建议珍藏)
-
Spring3.0配置多个事务管理器的方法
-
手工搭建基于ABP的框架 - 工作单元以及事务管理
-
hibernate3中 一对多 和多对一的检索策略
-
hibernate3中 一对多 和多对一的检索策略
-
Spring提供的Hibernate申明式事务管理有两种办法 HibernateSpringBeanAOPORM
-
hibernate3 的事务管理 HibernateORMDAO
-
Spring的事务管理器
-
spring对数据库的操作、spring中事务管理的介绍与操作