multiple persistence
yoav200 Jul 18, 2007 4:11 AMHello,
i have a webapp build with seam, ejb3 and JSF on jboss.
i deploy it as ear archive that contain a war and some jar files.
few jars has persistence entities (all on same DB).
what i did is put persistence.xml in all jars that has entities, in all persistence i call the same factory.
in the components.xml (seam) that is in the war i have declared an entityManager.
the idea is to have one entity manager for all persistence entities.
when i deploy to jboss i see that hibernate recognize all my entities and when i debug my DAO object (that the entityManager inject into) the em is NOT null but for some reason iget an exception that one of my entity is Unknown [javax.ejb.EJBTransactionRolledbackException: java.lang.IllegalArgumentException: Unknown entity: com.mobimate.account.domain.Account]
here is my persistence.xml:
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="account"> <jta-data-source>java:/jdbc/wml</jta-data-source> <properties> <property name="jboss.entity.manager.factory.jndi.name" value="java:/wmlEntityManagerFactory" /> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" /> </properties> </persistence-unit> </persistence>
and here is my components.xml:
.... <component name="wmlEntityManager" class="org.jboss.seam.core.ManagedPersistenceContext" auto-create="true"> <property name="persistenceUnitJndiName">java:/wmlEntityManagerFactory</property> </component> .....
and the DAO:
.... @Name("genericDao") public abstract class GenericDaoImpl<T> implements GenericDao<T> { @In(value="wmlEntityManager") EntityManager em; public T get(Serializable id) { return em.find(getPersistentClass(), id); } ......
i get the exception in the find.
what am i doing wrong ?
thanks