整个工程 spring2 + sturts1 + hibernate3   public class HapSysFunDAO{// extends HibernateDaoSupport { private HibernateTemplate hiberbatetemplate;

public List findAll() {
String queryString = "from HapSysFun";
return hiberbatetemplate.getSessionFactory().openSession().createQuery(queryString).list();   //0
//return vo.HibernateSessionFactory.getSession().createQuery(queryString).list();             //1
} public void setSessionFactory(SessionFactory sessionFactory) {
hiberbatetemplate=new HibernateTemplate(sessionFactory);
}
}         执行//0这行代码 SessionFactory为空
              //1这行代码正常 
把SessionFactory注入HibernateTemplate 哪出错了 ? 下面是配置文件 
           Struts-config.xml<struts-config>
  <data-sources />
  <form-beans />
  <global-exceptions />
  <global-forwards />
   <action-mappings>
<action path="/allfun"
type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="allfun" path="/allfun.jsp"></forward>
<forward name="msg" path="/msg.jsp"></forward>
</action> </action-mappings> <message-resources parameter="ApplicationResources" />
</struts-config>applicationContext.xml <bean id="sqlserverds"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=hap">
</property>
<property name="username" value="sa"></property>
<property name="password" value="admin"></property>
</bean>
<bean id="mysession"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="sqlserverds" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>vo/HapSysFun.hbm.xml</value></list>
</property></bean>
<bean id="HapSysFunDAO" class="dao.HapSysFunDAO">
<property name="sessionFactory">
<ref bean="mysession" />
</property>
</bean>
<bean name="/allfun" class="action.AllfunAction" /></beans>
web.xml<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
   <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
</web-app>

解决方案 »

  1.   

    通过HibernateTemplate取出的SessionFactory是空的 这个问题怎么解决啊 
      

  2.   

    我现在的问题是在HiberbateTemplate中注入SessionFactory不成功  
      

  3.   

    都已经 extends HibernateDaoSupport 了
    还搞出SessionFactory来干嘛???
      

  4.   

    就是注入SessionFactory不成功 extends HibernateDaoSupport 已经注释掉了 不知道哪配置错了 
      

  5.   

    要在配制文件里写一个.HIBENATETEMPLATE