public List findByProperty(String propertyName, Object value) {
log.debug("finding BbsUser instance with property: " + propertyName
+ ", value: " + value);
try {
System.out.println(value+"    :value");
String queryString = "from BbsUser as model where model."
+ propertyName + "= ?";
System.out.println(queryString);
if(getHibernateTemplate()==null)
{
System.out.println("这里出错了.");
}
return getHibernateTemplate().find(queryString, value);
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}
Struts hibernate Spring集成后 。出现getHibernateTemplate为空 有什么办法解决么?

解决方案 »

  1.   

    这是 Spring配置 <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="com.mysql.jdbc.Driver">
    </property>
    <property name="url"
    value="jdbc:mysql://localhost:3306/mybbs">
    </property>
    <property name="username" value="root"></property>
    <property name="password" value="1"></property>
    </bean>
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </prop>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>cn/mybbs/entity/BbsUser.hbm.xml</value>
    </list>
    </property>
    </bean>
      

  2.   

    自己在DAO层写的方法还是改的DAO层的方法?
      

  3.   

    不太详细,我不好从哪里下手。
    你看getHibernateTemplate的名称,对应的get/set方法的名称是否对应正确。
      

  4.   

    楼主的dao组件要继承spring的那个HibernateSupp...啥的Dao那个类。自己手写个getter/setter是不行的。
    查配置文件。
      

  5.   

    呃~DAO层在集成的时候应该选用Spring的 DAO层,而不是hibernate自身的DAO
      

  6.   

    进我的空间
    看我的资源 有个SSH视频  去下了看看
      

  7.   

    你的HibernateTemplat没有在spring中配置呢,肯定出现为null咯
    你配置下
      

  8.   

    你的Dao必须继承HibernateDaoSupport, 需要注入SessionFactory对象
    也就是说,你的dao类要在配置文件的定义中有一个
    <property name="sessionFactory">   
      <ref bean="sessionFactory" />   
    </property>
    此Dao的实例,不能通过new Dao()这样的方式得到,如果你是这样写的,getHibernateTemplate()为null
    你应该通过ApplicationContext的getBean(beanname)来得到dao的实例;  
      

  9.   

    问题在于你确定是Gethibernatetemplate()是空的,还是你的return是空的.没有搞清楚啊.最好是将dao,或service的配置贴出来看看.
    报什么错误呢?
      

  10.   

    我看了一下,是不是你的 web.xml 文件没有配置 applicationContext.xml 动态加载的代码?