Spring 休眠临时数据存储

Spring 休眠临时数据存储,spring,hibernate,Spring,Hibernate,我正在对spring hibernate DAOs进行单元测试。。。配置使用 @ContextConfiguration( 位置={ “类路径:测试应用程序上下文.xml” }) 但它看起来像是在处理实际的数据库。 如何在不处理实际数据库的情况下使用临时数据存储在单独的文件中定义数据存储,并将该xml文件包含在邮件应用程序xml中。测试时,请包含一个单独的xml文件以保存指向另一个数据库(如hsql)的数据存储。然后,这将是主应用程序context.xml引用的数据源。在单独的文件中定义数据存储

我正在对spring hibernate DAOs进行单元测试。。。配置使用

@ContextConfiguration(
位置={
“类路径:测试应用程序上下文.xml”
})

但它看起来像是在处理实际的数据库。
如何在不处理实际数据库的情况下使用临时数据存储

在单独的文件中定义数据存储,并将该xml文件包含在邮件应用程序xml中。测试时,请包含一个单独的xml文件以保存指向另一个数据库(如hsql)的数据存储。然后,这将是主应用程序context.xml引用的数据源。

在单独的文件中定义数据存储,并将该xml文件与邮件应用程序xml一起包含。测试时,请包含一个单独的xml文件以保存指向另一个数据库(如hsql)的数据存储。然后,这将是主应用程序context.xml引用的数据源。

谢谢各位,我使用了H2并使其正常工作:

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.h2.Driver" />
    <property name="url"
        value="jdbc:h2:mem:processdb;INIT=RUNSCRIPT FROM 'classpath:create.sql'" />
</bean>




<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
    <property name="configurationClass">
        <value>org.hibernate.cfg.AnnotationConfiguration</value>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
</bean>

<tx:annotation-driven />

<bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="stateDAO" class="com.tutorial.jquery.dao.impl.StateDAOImpl"></bean>
<bean id="stateService" class="com.tutorial.jquery.service.impl.StateServiceImpl"></bean>


类路径:hibernate.cfg.xml
org.hibernate.cfg.AnnotationConfiguration
org.hibernate.dial.h2方言
真的

谢谢各位,我使用了H2并使其正常工作:

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.h2.Driver" />
    <property name="url"
        value="jdbc:h2:mem:processdb;INIT=RUNSCRIPT FROM 'classpath:create.sql'" />
</bean>




<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
    <property name="configurationClass">
        <value>org.hibernate.cfg.AnnotationConfiguration</value>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
</bean>

<tx:annotation-driven />

<bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="stateDAO" class="com.tutorial.jquery.dao.impl.StateDAOImpl"></bean>
<bean id="stateService" class="com.tutorial.jquery.service.impl.StateServiceImpl"></bean>


类路径:hibernate.cfg.xml
org.hibernate.cfg.AnnotationConfiguration
org.hibernate.dial.h2方言
真的

但是如果我在测试应用程序上下文中使用Postgres,那么我需要安装Postgres来运行测试吗?但是如果我在测试应用程序上下文中使用Postgres,那么我需要安装Postgres来运行测试吗?