Я пытаюсь создать и заполнить в памяти схему hsql db, используя плагины hibernate3-maven-plugin и dbunit-maven-plugin maven.
Мне удалось сделать это в файл, но нет памяти. плагин hibernate делает свою работу без жалоб, но как только плагин hibernate закончен, dbunit жалуется на схему db, она выглядит так, как будто ее больше нет. Как я уже сказал, у меня это прекрасно работало с hsql db в файле, но мне не удалось сделать это в памяти.
Это код плагина гибернации:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>hsqlDB</id>
<phase>test-compile</phase>
<goals>
<goal>hbm2ddl</goal>
</goals>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>annotationconfiguration</implementation>
</component>
</components>
<componentProperties>
<jdk5>true</jdk5>
<propertyfile>target/test-classes/hibernateconf.properties</propertyfile>
<configurationfile>target/test-classes/hibernate.cfg.xml</configurationfile>
<skip>${skipTests}</skip>
</componentProperties>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</plugin>
hibernateconf.properties содержит:
hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.connection.driver_class=org.hsqldb.jdbcDriver
hibernate.connection.url=jdbc:hsqldb:mem:mytestdb;hsqldb.write_delay=false;shutdown=true
hibernate.connection.username=sa
hibernate.connection.password=
hibernate.connection.pool_size=1
hibernate.hbm2ddl.auto=create-drop
А это бубен
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>dbunit-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<configuration>
<dataTypeFactoryName>org.dbunit.ext.hsqldb.HsqldbDataTypeFactory</dataTypeFactoryName>
<driver>org.hsqldb.jdbcDriver</driver>
<username>sa</username>
<password></password>
<url>jdbc:hsqldb:mem:mytestdb;shutdown=true;hsqldb.write_delay=false</url>
<src>src/test/resources/sample-data.xml</src>
<type>CLEAN_INSERT</type>
<skip>${skipTests}</skip>
<transaction>true</transaction>
<skipOracleRecycleBinTables>true</skipOracleRecycleBinTables>
</configuration>
<executions>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>operation</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</plugin>
И это сообщение об ошибке:
Caused by: org.dbunit.dataset.NoSuchTableException: ExamplePersonEntity
at org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:281)
any У кого-нибудь есть идеи?
Большое спасибо