Spring中让DAO层继承HibernateDaoSupport为什么不常用?

 我来答
198901245631
2015-08-13 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1680万
展开全部
因为如果使用继承关系的话,耦合度比较高,也就是说不够优化,并且没办法是先spring的注入,所以现在一般用的比较少。

dao层现在一般都是通过hql语言,更方便一些。
举例:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result=session.createQuery("from Classes as a where a.classno
like " '%"+OId+"%'").list();
[sql] view plaincopyprint?
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result=session.createQuery("from Classes as a where a.classno like " '%"+OId+"%'").list();
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result=session.createQuery("from Classes as a where a.classno like " '%"+OId+"%'").list();
百度网友a60fe98
2012-11-19 · 超过13用户采纳过TA的回答
知道答主
回答量:132
采纳率:0%
帮助的人:45万
展开全部
继承HibernateDaoSupport是可以的,但这种方式还是不太好,还是用到了继承,也就是没有降低所谓的耦合度。
解决方案:
1、spring为我们提供了一个hibernateTemplate,你只需在配置文件中配置一个bean,并传入一个sessionFactory。

2、然后在使用dao的时候注入该hibernateTemplate的bean即可。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
love网店专员
2012-11-19 · TA获得超过357个赞
知道小有建树答主
回答量:775
采纳率:84%
帮助的人:116万
展开全部
没有为什么不常用,只有符合业务就行,看自己的需求定,你也可以自己创建数据库连接,这样的话,你得管理数据库连接问题,这样的后果是如果你自己开的连接没有关闭就导致程序快速出现问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kairi1227
2012-11-19 · 超过29用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:69.4万
展开全部
不记得了,应该是线程安全问题。你查一下文档就清楚了。我也不太确定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式