0 Replies Latest reply on Jul 18, 2007 4:11 AM by Yoav Al

    multiple persistence

    Yoav Al Newbie


      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">
       <property name="jboss.entity.manager.factory.jndi.name"
       value="java:/wmlEntityManagerFactory" />
       <property name="hibernate.dialect"
       value="org.hibernate.dialect.MySQLInnoDBDialect" />

      and here is my components.xml:
      <component name="wmlEntityManager"
       class="org.jboss.seam.core.ManagedPersistenceContext" auto-create="true">
       <property name="persistenceUnitJndiName">java:/wmlEntityManagerFactory</property>

      and the DAO:
      public abstract class GenericDaoImpl<T> implements GenericDao<T> {
       EntityManager em;
       public T get(Serializable id) {
       return em.find(getPersistentClass(), id);

      i get the exception in the find.
      what am i doing wrong ?