DAO中要用getCurrentSession来获得session的话,spring中hibernate4.LocalSessionFactoryBean需要怎么配

我DAO中注入了sessionFactory要用getCurrentSession老是报NoSessionfoundforcurrentthread用opensessio... 我DAO中注入了sessionFactory要用getCurrentSession老是报No Session found for current thread
用opensession在第一次用没问题,再用会报Illegal attempt to associate a collection with two open sessions,是不是没关闭session的原因?如果要用getCurrentSession我需要怎么配置呢?
不会排版,大家凑合看看吧

<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="packagesToScan" value="blog/model"/>

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.hbm2ddl.auto">
update
</prop>
</props>

</property>

<property name="annotatedClasses">
<list>
<value>blog.model.Blog</value>
<value>blog.model.Comment</value>
</list>
</property>

<property name="dataSource" ref="dataSource"></property>
</bean>
展开
 我来答
stefwujj
2013-10-25 · TA获得超过417个赞
知道小有建树答主
回答量:141
采纳率:100%
帮助的人:209万
展开全部
在dao里面直接使用
Session session=sessionFactory.getCurrentSession()就可以了;
dao只需要直接注入sessionFactory,不需要继承hibernatedaosupport之类的;

还有就是,不要在dao里面去关闭session;
另外,需要配置好声明事务;
niulanghan
推荐于2018-04-12 · TA获得超过1046个赞
知道小有建树答主
回答量:886
采纳率:100%
帮助的人:125万
展开全部
if (session == null || !session.isOpen()) {
session = sessionFactory.getCurrentSession();
}
}
就ok了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式