相关疑难解决方法(0)

Spring/Hibernate/JUnit - 没有绑定到线程的Hibernate会话

我试图在测试用例中访问当前的hibernate会话,并收到以下错误:

org.hibernate.HibernateException:没有Hibernate Session绑定到线程,并且配置不允许在org.hibernate.impl的org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)中创建非事务性的会话. .SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:574)

我显然错过了某种设置,但不确定是什么.

任何帮助将不胜感激.这是我在Hibernate/Spring等的第一次破解,学习曲线肯定是陡峭的!

代码如下:

违规类:

public class DbUnitUtil extends BaseDALTest {
    @Test
    public void exportDtd() throws Exception
    {

        Session session = sessionFactory.getCurrentSession();

        session.beginTransaction();
        Connection hsqldbConnection = session.connection(); 

        IDatabaseConnection connection = new DatabaseConnection(hsqldbConnection);

        // write DTD file
        FlatDtdDataSet.write(connection.createDataSet(), new FileOutputStream("test.dtd"));
    }
}
Run Code Online (Sandbox Code Playgroud)

基类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:applicationContext.xml"})
public class BaseDALTest extends AbstractJUnit4SpringContextTests {
    public BaseDALTest()
    {
        super();
    }
        @Resource
        protected SessionFactory sessionFactory;
}
Run Code Online (Sandbox Code Playgroud)

applicationContext.xml中:

<?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.xsd">

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>org.hsqldb.jdbcDriver</value>
        </property>
        <property …
Run Code Online (Sandbox Code Playgroud)

junit spring hibernate

19
推荐指数
2
解决办法
5万
查看次数

标签 统计

hibernate ×1

junit ×1

spring ×1