I've got a small test app which runs OK on its own, but I've now added a simple wicket application to access the data in the DB using my existing JPA annotated classes.
It's hibernate 3.2.5GA, annotations 3.3.0.GA and entitymanager 3.3.1.GA.
The line of code in my standalone app
Code:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("mailarchive");
I put this in Wicket's WebSession.authenticate and it causes the following Exception
Code:
Caused by: java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence
at javax.persistence.Persistence.findAllProviders(Persistence.java:79)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at com.teamware.office.archive.wicket.mail.MailSession.authenticate(MailSession.java:73)
at com.teamware.office.archive.wicket.mail.SignIn$1.signIn(SignIn.java:44)
at org.apache.wicket.examples.panels.signin.SignInPanel$SignInForm.onSubmit(SignInPanel.java:99)
at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1273)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:767)
It also logs the following
16:00:59,765 DEBUG log:? - loaded interface javax.persistence.spi.PersistenceProvider from ContextLoader@MailArchive([file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/ant-antlr-1.6.5.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/antlr-2.7.6.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/apache-mime4j-0.3.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/asm-attrs.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/asm.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/c3p0-0.9.1.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/cglib-2.1.3.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/commons-collections-2.1.1.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/commons-logging-1.0.4.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/connector.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/dom4j-1.6.1.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/ejb3-persistence.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/hibernate-entitymanager.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/hibernate3.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/hsqldb.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/javassist.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/jboss-common.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/jhighlight-1.0.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/jta.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/log4j-1.2.11.jar]) / sun.misc.Launcher$AppClassLoader@92e78c
16:00:59,765 DEBUG log:? - loaded class org.hibernate.ejb.HibernatePersistence from ContextLoader@MailArchive([file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/ant-antlr-1.6.5.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/antlr-2.7.6.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/apache-mime4j-0.3.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/asm-attrs.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/asm.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/c3p0-0.9.1.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/cglib-2.1.3.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/commons-collections-2.1.1.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/commons-logging-1.0.4.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/connector.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/dom4j-1.6.1.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/ejb3-persistence.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/hibernate-entitymanager.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/hibernate3.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/hsqldb.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/javassist.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/jboss-common.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/jhighlight-1.0.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/jta.jar, file:/D:/Java/MailArchiveWeb/WebContent/WEB-INF/lib/log4j-1.2.11.jar]) / sun.misc.Launcher$AppClassLoader@92e78c
I am sure it's something to do with the location of persistence.xml, but I've tried it in various places. I'm running the test with Jetty under Eclipse
Any help appreciated
Antony