论坛首页 Java企业应用论坛

我有一个对dao封装的想法,不知道对不对?

浏览 4115 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-06-22  
DAO
通常有一个po就有一个dao与其对应。

public  class XXXDaoImpl{
  public void addXXPO(XXPO xxpo);{ 
      Transaction tx = null;
      try{
         tx = session.beginTransaction();;
         session.save(xxpo);;

         tx.commit();;
      }catch(HibernateException he);{
         if(tx != null); tx.rollback();;
         throw he;
      }
      finally{
         session.close();;
      }
  }
  public void delXXPO(XXPO xxpo);{
       .....
  } 
  public void updateXXPO(XXPO xxpo );{
      ....
  }
   public XXPO findById(XXPO xxPO);{
     .......
  }
}

我觉得对每一个po都一个dao,工作量太大,能否将crud方法通用化如
public class GeneralDao{
  public void addXXPO(Object  obj);{
    Transaction tx = null;
      try{
         tx = session.beginTransaction();;
         session.save(obj);;

         tx.commit();;
     }catch(HibernateException he);{
         if(tx != null); tx.rollback();;
         throw he;
      }
      finally{
         session.close();;
      }
    }
   ......
}

也就是将crud这四个方法的参数全部用Object类型。如果po还其他方法,就直接从此通用的dao扩展。
我试了一下,好像可以。但不知道这种做法会不会有什么潜在的问题?
   发表时间:2004-06-23  
我在项目中也是类似这么做的。目前为止没碰到什么问题。
0 请登录后投票
   发表时间:2004-06-23  
对DAO怎么使用这里讨论了很多,你可以查找一下,相信会有帮助的
0 请登录后投票
   发表时间:2004-06-24  
樓主說的本來就可以的,只不過還是要每個PO對應一個DAO,但是讓DAO實現你的GeneralDAO.這又有甚麼麻煩的呢?
樓上說的也對,你應該查查,其實很多問題都有了
0 请登录后投票
   发表时间:2004-06-24  
写个批处理生成不就完了吗
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics