小弟初学openSessionInView,有一个问题想请教大家。

woainilxt 2009-02-13 09:24:57
配置没有问题,就是getSession()方法我本来是自己写的,使用了openSessionInView后Session要如何获取,请大家耐心为我解答。
...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fulianglove 2009-02-16
  • 打赏
  • 举报
回复
仅仅是openSessionInView模式的话,spring配置文件里没什么改的。
你的baseDAO事由其他dao继承的么?那么baseDAO就先继承HibernateDaoSupport,反正保证所有dao获得的session是由HibernateDaoSupport提供的就可以
woainilxt 2009-02-13
  • 打赏
  • 举报
回复
我的意思是需要在spring中怎么修改,其他的设置我基本明白,那我baseDAO这个类还有用吗?(怎么在帖子中 贴出你那样的代码块?)
fulianglove 2009-02-13
  • 打赏
  • 举报
回复
web.xml里配置,过滤器,在每次请求的时候过滤器提供一个session,结束时由filter自己关闭

<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>

<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>

你的DAO要继承HibernateDaoSupport,否则你的DAO方法里用的session不是由OpenSessionInViewFilter提供的唯一的session



woainilxt 2009-02-13
  • 打赏
  • 举报
回复
那spring中的配置文件要如何修改呢?
本来的<bean id="baseDAO" class="dao.BaseDAO" abstract="true">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="userDao" class="dao.UserDaoImpl" parent="baseDAO"></bean>
baseDAO是我自己写的类,用来提供session的。

fulianglove 2009-02-13
  • 打赏
  • 举报
回复
如果使用了OpenSessionInView模式,DAO类继承HibernateDaoSupport,使用getSession()方法就可以拿到绑定到当前线程的线程安全的Session
woainilxt 2009-02-13
  • 打赏
  • 举报
回复
为什么没有人回答呢?是不是我问的不清楚 还是openSessionInView这个技术不常用?如果大家觉得分少的话我可以加分。
woainilxt 2009-02-13
  • 打赏
  • 举报
回复
就是DAO的实现类继承HibernateDaoSupport,直接调用其中的getSession()方法即可?那么spring中要如何配置呢?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧