Hi, thanks for this pretty straight answer. But one more thing that bothers me. Why is this only an issue while testing? When my app is running, i am pretty sure that i dont use the DP_PLZ_DA class somewhere in the code before the worfklow with the query arrives. So why does it work in normal runtime mode?
--- regards Marc Logemann http://www.logemann.org http://www.logentis.de Am 06.09.2010 um 23:26 schrieb Rick Curtis: >> So why does OpenJPA fail on registering Entities? > > The problem is that when you don't list your entities, OpenJPA doesn't know > that the alias 'DP_PLZ_DA' is an Entity until the x.y.z.DP_PLZ_DA class is > loaded. If you were to look at an enhanced Entity you would see that OpenJPA > adds a static initializer that will register each Entity with OpenJPA. > > An alternative to calling "new DP_PLZ_DA();" would be to add something like > this to each of your testcases. > > // List each Entity that this test is going to use. > private Class[] _entities = new > Class[]{x.y.z.DP_PLZ_DA.class,x.y.z.DP_PLZ_DB.class,etc... }; > > Thanks, > Rick > > On Mon, Sep 6, 2010 at 4:14 PM, Marc Logemann <l...@logemann.org> wrote: > >> Hi, >> >> i am using a pretty straightforward Spring/OpenJPA JUnit Testcase scenario: >> >> @RunWith(SpringJUnit4ClassRunner.class) >> @ContextConfiguration(locations = "/appContext.xml") >> public class DHLLeitcodeCreatorTest { >> ... >> @Test >> public void getDHLLeitcode() { >> someBean.superDuperAction(); >> } >> } >> >> I am not explicitely declaring my entities in persistence.xml. Its all >> autodetected via Annotations. (at least during normal runtime). >> >> Inside superDuperAction(), a lot of queries are fired against OpenJPA. It >> fails on the first Query saying that it cant find Entity DP_PLZ_DA (weird >> class name, i know). >> >> "Error message: The name "DP_PLZ_DA" is not a recognized entity or ...." >> >> Now when i do this: >> >> @Test >> public void getDHLLeitcode() { >> DP_PLZ_DA df = new DP_PLZ_DA(); >> someBean.superDuperAction(); >> } >> >> It works and it can find the Entity. But why in gods name do i need to >> instantiate the class by myself in order to get detected? During normal >> runtime, this is no problem. Kevin Sutter reported something similar here ( >> http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14459507) >> but i thought i can solve this by upgrading to 1.2.2 but i was mistaken. >> >> So why does OpenJPA fail on registering Entities? >> >> --- >> regards >> Marc Logemann >> http://www.logemann.org >> http://www.logentis.de >> >> >> >> >>