日期:2014-05-17  浏览次数:20682 次

spring+hibernate整合出现问题。
我用spring去管理hibernate.为什么得不到sessionFactory工厂呢,出现空指针问题。麻烦哪位大哥帮帮忙谢谢啦。
spring配置文件
<bean id="dataBase"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/mysql">
</property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</bean>
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataBase" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/jxcd/domain/Admintable.hbm.xml</value></list>
</property>
</bean>
<bean id="htmlDescDao"
class="com.jxcd.domain.B">
<property name="sessionFactory" ref="mySessionFactory"/>
</bean>
下面是我的实现类
package com.jxcd.domain;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class B implements A {
  private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public void b() {
// TODO Auto-generated method stub
try {
Session session=sessionFactory.openSession();======》这个地方会抛出null指针  
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace(); 
}

}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
B x=new B();
x.b();

}



}

------解决方案--------------------
可能是你sessionFactory初始化的时候出错了. 
建议把hibernate debug log输出.
------解决方案--------------------
同意楼上的 

请把错误信息打印以下~
------解决方案--------------------
你的sessionFactory根本就没有初始化