EJB3Unit und Hibernate

arto

Grünschnabel
Hallo zusammen

Ich arbeite nun seit einigen Jahren mit J2EE und habe seit einiger Zeit ein etwas grösseres Projekt am laufen. Jedenfalls möchte ich dies auch gerne automatisiert testen, habe aber da so meine Probleme.
Ich benutze unter anderem EJB3 und Hibernate. Wenn ich jetzt in einem Session Bean ein named Query aufrufe, funktioniert das grundsätzlich wunderbar. Nur wenn ich mit EJB3Unit einen Test laufen lasse, findet er plötzlich keine named Queries mehr. Bei Tests, wo ich keine named Queries aufrufe, funktioniert's auch wunderprächtig.

StackTrace:
javax.persistence.PersistenceException: org.ejb3unit.hibernate.MappingException: Named query not known: findUs00ByUserName
at org.ejb3unit.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)
at org.ejb3unit.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(AbstractEntityManagerImpl.java:106)
at ch.raumhanger.ejb.commons.user.UserBean.findUs00ByUserName(UserBean.java:204)
at ch.raumhanger.ejb.commons.user.UserBean.getUserDetailsByUserName(UserBean.java:70)
at ch.raumhanger.test.raumhanger.ejb.UserTest.testGetUserDetailsByUserName(UserTest.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.ejb3unit.hibernate.MappingException: Named query not known: findUs00ByUserName
at org.ejb3unit.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:70)
at org.ejb3unit.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1260)
at org.ejb3unit.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(AbstractEntityManagerImpl.java:103)
... 21 more

Hat da vielleicht jemand ne Idee an was das liegen könnte?
 
a) Dein EJB3Unit lädt nicht das richtige Konfigurationsfile
b) dein NamedQuery im TestCase ist falsch benannt - "findUs00ByName" sieht etwas komisch aus

Gruß
Ollie
 

Neue Beiträge

Zurück