锁定老帖子 主题:我的通用DAO理解,请大家指正
精华帖 (2) :: 良好帖 (1) :: 新手帖 (2) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-20
哪里抛出异常?
|
|
返回顶楼 | |
发表时间:2008-11-20
zhu_chen001 写道 dao最好不要显示的抛出任何的异常
service最好抛出自定义异常 我的做法好像和你相反,在DAO层抛出自定义异常,在Action中捕捉异常做流程跳转处理.. |
|
返回顶楼 | |
发表时间:2008-11-20
dao里抛异常,你怎么知道是哪个业务过程出的问题,怎么针对业务异常做流程跳转?
哎,泛型啊,这玩意看的我头疼,我宁肯多写几段代码... |
|
返回顶楼 | |
发表时间:2008-11-21
这有篇文章,lz可以看一下:http://www.ibm.com/developerworks/java/library/j-genericdao.html
异常我们一般在service中处理,另外baseDAO还会扩展 |
|
返回顶楼 | |
发表时间:2008-11-21
呵呵.. 昨天偶也写了一个 和你的差不多,不过没有捕获异常。。。我认为没有必要捕获异常,用spring捕一下就o了..
|
|
返回顶楼 | |
发表时间:2008-11-21
这不就是hibernate in action里面的示例DAO层吗?
|
|
返回顶楼 | |
发表时间:2008-11-21
通用了吗?这不还得为每个功能点写个借口和一个实现吗???
|
|
返回顶楼 | |
发表时间:2008-11-21
我也没感觉出通用来,用泛型不就为了不写那里接口和实现类吗
GenericDaoHibernate<PersonProfile> personDao=new GenericDaoHibernate<PersonProfile>(PersonProfile.class,ht); personDao.getAll(1,2,3,4,5); GenericDaoHibernate<LoginAccount> loginDao=new GenericDaoHibernate<LoginAccount>(LoginAccount.class,ht); loginDao.delete(1); |
|
返回顶楼 | |
发表时间:2008-11-21
最后修改:2008-11-21
异常处理机制有问题,思路问题。
真正的异常(诸如网络断线,数据库当机)是无法处理的,直接抛到最外面,或者action拦截处理成系统错误。 一般的异常其实是利用自定义的非受控异常(UncheckedException)来进行消息传递,在需要的地方进行拦截,一般也是action层处理(比如用户名重复)。 BaseDao这么多try都是没用的。Hibernate 3和Spring包装过的增强类都是非受控异常,try了一点意义都没有。 |
|
返回顶楼 | |
发表时间:2008-11-21
通用dao??先明确通用的范围,是基于sql的通用呢?还是基于所有orm技术的通用呢?
|
|
返回顶楼 | |