Problem solved. Solution is described here:
http://jroller.com/page/gbilodeau/?anchor=of_running_jpa_unit_tests1.
Guillaume Bilodeau wrote:
>
> I am experiencing a similar problem when using entity beans in the form of
> annotated classes: the tests run fine under Eclipse but fail under Maven
> with the same "Unknown entity" message. A quick look at the Hibernate
> logs shows that the entities are recognized under Eclipse but not under
> Maven. Similarly, the problem seems to stem from the separation of main
> classes and test classes in two distinct directories, which somehow
> impacts Hibernate's class location algorithm.
>
> Is there any way this can be avoided or, even better, solved?
>
> Thanks,
> GB
>
>
>
> Jurgen Lust wrote:
>>
>> Hi,
>>
>> I'm having a problem run the unit tests for a hibernate and spring-based
>> application with the surefire plugin.
>> I'm using the xdoclet plugin to generate the hibernate mapping files,
>> and a spring LocalSessionFactoryBean to load
>> the mappings, like so:
>>
>> The surefire plugin:
>>
>> <plugin>
>> <artifactId>maven-surefire-plugin</artifactId>
>> <version>2.0</version> <!-- tried version 2.1.2 as well, to no
>> avail -->
>> <configuration>
>> <testFailureIgnore>true</testFailureIgnore>
>> <forkMode>once</forkMode>
>> <includes>
>> <include>**/*TestSuite.java</include>
>> </includes>
>> <reportFormat>xml</reportFormat>
>> </configuration>
>> </plugin>
>>
>>
>> The xdoclet plugin:
>> <plugin>
>> <groupId>org.codehaus.mojo</groupId>
>> <artifactId>xdoclet-maven-plugin</artifactId>
>> <version>1.0-alpha-2</version>
>> <executions>
>> <execution>
>> <phase>generate-sources</phase>
>> <goals>
>> <goal>xdoclet</goal>
>> </goals>
>> <configuration>
>> <tasks>
>> <hibernatedoclet
>> excludedtags="@version,@author,@see,@todo"
>> destDir="${project.build.outputDirectory}">
>> <fileset dir="${basedir}/src/main/java">
>> <include name="**/model/*.java"></include>
>> </fileset>
>> <hibernate destinationFile="{0}.hbm.xml" version="3.0"
>> prefixWithPackageStructure="true"></hibernate>
>> </hibernatedoclet>
>> </tasks>
>> </configuration>
>> </execution>
>> </executions>
>> </plugin>
>>
>> The resulting mapping files are in target/classes.
>>
>> The spring.xml looks like this:
>>
>> <bean id="sessionFactory"
>>
>> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>> <property name="dataSource">
>> <ref bean="dataSource" />
>> </property>
>> <property name="hibernateProperties">
>> <props>
>> <prop key="hibernate.dialect">
>> ${hibernate.dialect}
>> </prop>
>> <prop key="hibernate.connection.autocommit">
>> ${hibernate.connection.autocommit}
>> </prop>
>> <prop key="hibernate.hbm2ddl.auto">
>> ${hibernate.hbm2ddl.auto}
>> </prop>
>> <prop key="hibernate.show_sql">
>> ${hibernate.show_sql}
>> </prop>
>> </props>
>> </property>
>> <property name="mappingDirectoryLocations">
>> <list>
>> <value>classpath:</value>
>> </list>
>> </property>
>> </bean>
>>
>> So the LocalSessionFactoryBean searches the classpath for hbm.xml files.
>>
>> Now my unit tests create a ClassPathXmlApplicationContext in the setUp()
>> method, using the above spring.xml file.
>> But when the unit tests try to access one of the persistent beans, I get
>> the error "org.hibernate.MappingException: Unknown entity", which means
>> the hibernate mapping files could not be found in the classpath.
>> Looking at the classpath for the maven surefire plugin, I noticed that
>> both the target/classes and target/testClasses directories are in it
>> twice, which is strange but I doubt that this could be the cause...
>> After copying the generated hbm.xml files to src/test/resources, the
>> tests did not throw that Exception anymore.
>> I have also tried running the tests from an ant buildfile, and that
>> works as well.
>>
>> Does anyone have an idea what could be going wrong here?
>>
>> Kind regards,
>>
>> Jurgen
>>
>> --
>> Among flowers, the cherry blossom.
>> Among men, me.
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
--
View this message in context:
http://www.nabble.com/surefire-and-hibernate%2Bspring-tf1154206.html#a6320539
Sent from the Maven - Users forum at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]