[jboss-user] [JBoss Seam] - multiple persistence

yoav200 do-not-reply at jboss.com
Wed Jul 18 04:11:32 EDT 2007


Hello,

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

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4065287#4065287

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4065287



More information about the jboss-user mailing list