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?
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?