您的位置:首页 > 其它

Hibernate自动生成的DAO的修改方法

2010-12-10 17:30 218 查看
使用MyEclipse中用Hibernate反向工程生成的DAO会发生对象无法存储到数据库的现象,原因是没有运用事务。当然可以在调用dao对象的代码前后加事务控制,但这样破坏了dao对数据库操作的

封装,让业务层中掺杂了持久层代码。所以进行以下修改:

修改后:

import org.hibernate.Session;
import org.hibernate.Transaction;
public void save(Resource transientInstance) {
log.debug("saving Resource instance");
try {
Session session = getSession();
Transaction tr = session.beginTransaction(); //开始事务
session.save(transientInstance);
tr.commit();   //提交事务
session.flush();    //清空缓存
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
public void delete(Resource persistentInstance) {
log.debug("deleting Resource instance");
try {
Session session = getSession();
Transaction tr = session.beginTransaction();
session.delete(persistentInstance);
tr.commit();
session.flush();
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: