Hibernate 在seam测试中更改persistence.xml

Hibernate 在seam测试中更改persistence.xml,hibernate,unit-testing,seam,testng,Hibernate,Unit Testing,Seam,Testng,在我们的生产和开发中,我们根据MSSQL数据库进行开发 但是,当我们运行测试时,我们希望对HSQL数据库进行测试 更改DS文件以使其运行于HSQL是没有问题的,但是persistence.xml中的旧dialcet仍然是MSSQL方言,因此如何将其更改为HSQL方言 //Trind您可以使用资源和测试资源筛选 <filters> <filter>src/main/filters/dev.filter.properties</filter> &l

在我们的生产和开发中,我们根据MSSQL数据库进行开发

但是,当我们运行测试时,我们希望对HSQL数据库进行测试

更改DS文件以使其运行于HSQL是没有问题的,但是persistence.xml中的旧dialcet仍然是MSSQL方言,因此如何将其更改为HSQL方言


//Trind

您可以使用资源和测试资源筛选

<filters>
    <filter>src/main/filters/dev.filter.properties</filter>
    <filter>src/test/filters/dev.filter.properties</filter>
</filters>
<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
    </resource>
</resources>
<testResources>
    <testResource>
        <directory>src/test/resources</directory>
        <filtering>true</filtering>
    </testResource>
</testResources>

src/main/filters/dev.filter.properties
src/test/filters/dev.filter.properties
src/main/resources
真的
src/测试/资源
真的
在dev.filter.properties文件中定义hibernate.dial属性,并使其在主目录和测试目录中有所不同

然后在test和main中使用persistence.xml文件


您使用的是Spring framework吗?不,我使用的是Seam 2.2.2-Final,我们使用maven进行部署。当我有不同的测试项目和正在测试的项目时,这是否有效?如果您有两个单独的项目,那么您可以使用两个单独的persistence.xml文件,每个文件都包含其方言。