本帖最后由 niyuio 于 2013-03-06 01:04:45 编辑

解决方案 »

  1.   

    Error creating bean with name 'sessionFactory' defined in file [E:\JAVA_Servler\apache-tomcat-6.0.35\webapps\oking_pm_struts2.3.4_spring3.2_hibernate4.1\WEB-INF\classes\applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
    org.springframework.orm.hibernate4.LocalSessionFactoryBean
    你用hibernate3试试
      

  2.   

    还有你看看你的事务是不是配错了
    <bean id="transactionManager"     class="org.springframework.orm.hibernate4.HibernateTransactionManager">      <property name="sessionFactory" ref="sessionFactory" />   </bean> 
      

  3.   

    问题解决了,是oracle驱动包的版本过低。现在又有一个问题:spring3.2的事物,这个*Servler指的是? 我这样配了,但查询时报事物为开启,要手动开启事物,提交才行。<!--配置hibernate的事务管理器-->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
    <!- 配置事务拦截器-->
    <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
        <property name="transactionManager"  ref="transactionManager"/>
        <property name="transactionAttributes>
            <props>
                <prop key="*">PROPAGATION_REQUIRED</prop>
            </props>
        </property> 
    </bean>
    <!-- 配置代理-->
    <bean  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
        <property name="beanNames">
            <list><value>*Server</value></list>
        </property>
        <property name="interceptorNames">
            <list><value>transactionInterceptor</value></list>
        </property>
    </bean>