Membros,
Alguém já conseguiu definir dois DataSource em um projeto Seam ? Como é feito o mapeamento das entidade para cada DataSource ?
Grato a todos pela oportunidade.
Membros,
Alguém já conseguiu definir dois DataSource em um projeto Seam ? Como é feito o mapeamento das entidade para cada DataSource ?
Grato a todos pela oportunidade.
Para mitigar mais ainda o problema, como é definido no aquivo de configuração JPA (persistence.xml) quais classe/entidades pertencem a Persistence-Unit ?
Grato.
Olá! para reforçar o tópico, estou com o mesmo problema.
Pesquisei na base de conhecimento do Seam e encontrei este post.
http://www.seamframework.org/Documentation/HowDoIUseMultipleDynamicEntityManagersInSeam
Segui o conteúdo do post e consegui utilizar mais de um datasource. No entanto, uma mesma entidade é criada em cada um dos bancos. Então, reforçando a pergunta: Como posso definir as entidades as quais um persistence-unit é responsável.
Segue como ficou o arquivo persistence.xml, ds.xml e components.xml
[code]<?xml version="1.0" encoding="UTF-8"?>
org.hibernate.ejb.HibernatePersistence java:/SeamJbpmDatasource<persistence-unit name="SeamJbpm2">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/SeamJbpmDatasource2</jta-data-source>
<!-- The <jar-file> element is necessary if you put the persistence.xml in the WAR and the classes in the JAR -->
<!--
<jar-file>../../vehicles.jar</jar-file>
-->
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="jboss.entity.manager.factory.jndi.name" value="java:/SeamJbpmEntityManagerFactory2"/>
</properties>
[/code]
[code]<?xml version="1.0" encoding="UTF-8"?>
SeamJbpmDatasource
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
localhost
3306
seam
TRANSACTION_READ_COMMITTED
root
abc123
com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker
com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter
mySQL
SeamJbpmDatasource2
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
localhost
3306
seamjbpm
TRANSACTION_READ_COMMITTED
root
abc123
com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker
com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter
mySQL
[/code]
[code]
<persistence:managed-persistence-context name="entityManager2" auto-create="true"
persistence-unit-jndi-name="java:/SeamJbpmEntityManagerFactory2"/>[/code]
Pra fazer a persistência, o código abaixo…
@In(value="#{entityManager1}")
private EntityManager entityManager1;
abraço!