读书人

Hibernate反向工程以致的数据无法存储

发布时间: 2012-06-30 17:20:12 作者: rapoo

Hibernate反向工程导致的数据无法存储

在使用MyEclipse过程中,用Hibernate反向工程生成的DAO有时会发生对象无法存储到数据库,或对象修改后无法存储到数据库的现象。原因是没有运用事务,可以在调用dao对象的代码前后加事务控制,但这样破坏了dao对数据库操作的 例如:

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 update(Exam instance) {log.debug("attaching update Exam instance");try {Session session = getSession(); Transaction tr = session.beginTransaction(); //开始事务session.update(instance);tr.commit(); //提交事务  session.flush();log.debug("attachUpdate successful");} catch (RuntimeException re) {log.error("attachUpdate failed", re);throw re;}} 
?封装,让业务层中掺杂了持久层代码。

读书人网 >软件架构设计

热点推荐