On May 14, 2008, at 5:46 AM, rolber wrote:

Caused by: org.apache.openejb.OpenEJBException:
java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence cannot
be cast to javax.persistence.spi.PersistenceProvider:
org.hibernate.ejb.HibernatePersistence cannot be cast to
javax.persistence.spi.PersistenceProvider
        at
org .apache .openejb .assembler.classic.Assembler.createApplication(Assembler.java:459)
        ... 17 more
Caused by: java.lang.ClassCastException:
org.hibernate.ejb.HibernatePersistence cannot be cast to
javax.persistence.spi.PersistenceProvider
        at
org .apache .openejb .assembler .classic .PersistenceBuilder .createEntityManagerFactory(PersistenceBuilder.java:178)
[...]
The library which uses hibernate, contains a package(ejb3- persistence.jar)
which also uses the class javax.persistence.spi.PersistenceProvider,
the same as in javaee-api-5.0-1.jar package.

The ClassCastException is definitely caused by having two copies of the javax.persistence APIs in your system (one in the common classloader provided by us and the one in your webapp). You'll definitely want to get rid of the jar in your webapp that contains the javax.persistence API. Assuming that jar only contains javax.* classes, everything should run fine without it.

-David

Reply via email to