Spring 弹簧&x2B;Hibernate4错误CurrentSessionContext始终为空
我正在一个简单的java应用程序中使用Hibernate4和Spring3.1 我使用以下代码创建Spring SessionFactory,然后将其转换为hibernate SessionFactory: 请看这里有什么遗漏。。。走这条路对吗??还是我错过了什么。。?请帮忙Spring 弹簧&x2B;Hibernate4错误CurrentSessionContext始终为空,spring,hibernate,sessionfactory,Spring,Hibernate,Sessionfactory,我正在一个简单的java应用程序中使用Hibernate4和Spring3.1 我使用以下代码创建Spring SessionFactory,然后将其转换为hibernate SessionFactory: 请看这里有什么遗漏。。。走这条路对吗??还是我错过了什么。。?请帮忙 ..... ...... context=new ClassPathXmlApplicationContext(new String[]{"spring.xml"}); return (SessionFactory
.....
......
context=new ClassPathXmlApplicationContext(new String[]{"spring.xml"});
return (SessionFactory) context.getBean("mySessionFactory");
......
sessionfactory的CurrentSessionContext始终为空!
所以我不能执行
sessionFactory.getcurrentSession()
->给我一个java.lang.NullPointer异常
spring.xml中的myBean声明:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
<bean id="mySessionFactory" name="mySessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" scope="singleton">
<property name="dataSource" ref="myDataSource"/>
<property name="mappingResources">
<list>
<value>TblUrls.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.transaction.jta.platform">org.hibernate.service.jta.platform.internal.SunOneJtaPlatform</prop>
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
</props>
</property>
</bean>
<bean class="org.springframework.orm.hibernate4.support.OpenSessionInViewInterceptor">
<property name="sessionFactory">
<ref local="mySessionFactory" />
</property>
</bean>
<bean id = "transactionManager" class = "org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name = "sessionFactory" ref = "mySessionFactory" />
</bean>
<!-- <bean id="myProductDao" class="hib.TblUrlsHome"> -->
<!-- <property name="sessionFactory" ref="mySessionFactory"/> -->
<!-- </bean> -->
</beans>
TblUrls.hbm.xml
org.hibernate.dialogue.mysqldialogue
真的
更新
真的
org.hibernate.service.jta.platform.internal.SunOneJtaPlatform
org.springframework.orm.hibernate4.SpringSessionContext
你必须这样做sessionFactory.openSession()代码>
这应该能解决你的问题