Foros del Web » Programación para mayores de 30 ;) » Java »

multiples unidades de persistencia en jpa

Estas en el tema de multiples unidades de persistencia en jpa en el foro de Java en Foros del Web. No se si es correcto crear este tema aqui Hola os expongo mi caso: tengo una aplicacion basada en jpa. Quiero hacer referencia a 2 ...
  #1 (permalink)  
Antiguo 26/10/2011, 09:15
 
Fecha de Ingreso: octubre-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
multiples unidades de persistencia en jpa

No se si es correcto crear este tema aqui
Hola os expongo mi caso:

tengo una aplicacion basada en jpa. Quiero hacer referencia a 2 bbdd distintas con lo que he editado dos entityManagerFactory distintos haciendo referencia a 2 datasource de las bbdd.

Aqui esta mi fichero de configuracion:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

<context:annotation-config />
<tx:annotation-driven transaction-manager="transactionManagerPersonal" />
<tx:annotation-driven transaction-manager="transactionManagerProductividad" />


<bean id="datasourceProductividad"
class="org.springframework.jdbc.datasource.DriverM anagerDataSource"
p:driverClassName="${jdbc.productividad.driverClas sName}" p:url="${jdbc.productividad.url}"
p:username="${jdbc.productividad.username}" p:password="${jdbc.productividad.password}" />
<alias name="datasourceProductividad" alias="dataSourceProductividad"/>

<bean id="datasourcePersonal"
class="org.springframework.jdbc.datasource.DriverM anagerDataSource"
p:driverClassName="${jdbc.personal.driverClassName }" p:url="${jdbc.personal.url}"
p:username="${jdbc.personal.username}" p:password="${jdbc.personal.password}" />
<alias name="datasourcePersonal" alias="dataSourcePersonal"/>


<bean id="transactionManagerPersonal" class="org.springframework.orm.jpa.JpaTransactionM anager">
<property name="entityManagerFactory" ref="entityManagerFactoryPersonal" />
</bean>

<bean id="transactionManagerProductividad" class="org.springframework.orm.jpa.JpaTransactionM anager">
<property name="entityManagerFactory" ref="entityManagerFactoryProductividad" />
</bean>


<bean id="entityManagerFactoryPersonal"
class="org.springframework.orm.jpa.LocalContainerE ntityManagerFactoryBean"
p:dataSource-ref="datasourcePersonal" p:jpaVendorAdapter-ref="jpaAdapter"
p:persistenceUnitName="procesosDesatendidosPersona l">
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading .InstrumentationLoadTimeWeaver" />
</property>
</bean>

<bean id="entityManagerFactoryProductividad"
class="org.springframework.orm.jpa.LocalContainerE ntityManagerFactoryBean"
p:dataSource-ref="datasourceProductividad" p:jpaVendorAdapter-ref="jpaAdapter"
p:persistenceUnitName="procesosDesatendidosProduct ividad">
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading .InstrumentationLoadTimeWeaver" />
</property>
</bean>

<bean id="jpaAdapter" class="org.springframework.orm.jpa.vendor.Hibernat eJpaVendorAdapter"/>

</beans>


Y tambien he definido en persistence.xml las unidades correspondientes.


En los DAO´S que estoy utilizando he aplicado :

@PersistenceContext(unitName="procesosDesatendidos Personal")
public void setEntityManager(final EntityManager entityManager) {
this.entityManager = entityManager;
}

@PersistenceContext(unitName="procesosDesatendidos Productividad")
public void setEntityManager(final EntityManager entityManager) {
this.entityManager = entityManager;
}

El caso es que la aplicacion no esta funcionando correctamente ya que si quiero insertar o actualizar datos en alguna de las bbdd no realiza estas operaciones

¿Seria posible realizar transacciones?
¿Tendria que utilizar JTA?

Gracias
  #2 (permalink)  
Antiguo 26/10/2011, 10:06
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: multiples unidades de persistencia en jpa

Hola,

Muevo tu tema al foro de Java del foro de Programación General.

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: jpa, multiples, persistencia, unidad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:36.