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

Duda jta jpa2

Estas en el tema de Duda jta jpa2 en el foro de Java en Foros del Web. Hola: Estoy a punto de comenzar un proyecto usando maven, jpa2,hibernate,spring,jsf,primefaces y lo primero que tengo que hacer una lectura de un excel de unos ...
  #1 (permalink)  
Antiguo 25/01/2012, 17:11
 
Fecha de Ingreso: enero-2011
Mensajes: 74
Antigüedad: 13 años, 3 meses
Puntos: 4
Duda jta jpa2

Hola:
Estoy a punto de comenzar un proyecto usando maven, jpa2,hibernate,spring,jsf,primefaces y lo primero que tengo que hacer una lectura de un excel de unos 9000 registros y insertarlos en base de datos oracle pero el tema es que esto lo debo hacer mediante una transacción o sea se quiere poder ingresar la totalidad de los registros o no ingresar ninguno y informar la causa para poder evitar inconsistencias pero no se hacer esto , no se si con jpa2 basta porque he leido algo que la entity manager tiene para manejo de transacciones o tengo que usar jta y de ser así no tengo idea de como se configura y usa he leido que depende del servidor de aplicaciones pero tampoco me gustaría amarar la solución a ningún servidor de aplicaciones en particular, estoy usando bastantes anotaciones de jee6 precisamente para trabajar lo mas separado posible de los descriptores y servidores pues inclusive me lo pueden cambiar pero de momento debe ser web logic , me gustaría me orientarán respecto a mis posibles alternativas y como hacer para lograr lo que quiero
Muchas gracias ante todo
saludos
  #2 (permalink)  
Antiguo 25/01/2012, 19:48
 
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 185
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Duda jta jpa2

Trabajo con jpa (Hibernate como implementación), y lo que hago para guardar el concepto de transacción es meterlo entre un begin y commit:

//em es un objeto EntityManager
em.getTransaction().begin();

todas las transacciones....

em.getTransaction().commit();

Puedes capturar las excepciones que puedan surgir también y mostrar el error.
Aqui tienes un ejemplo: http://www.java2s.com/Code/Java/JPA/StartTransactionandCommit.htm
  #3 (permalink)  
Antiguo 26/01/2012, 06:52
 
Fecha de Ingreso: enero-2011
Mensajes: 74
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Duda jta jpa2

gracias jav_000 voy a mirar esto o sea que todo lo que encierras entre begin y comit se ejecuta todo o nada? me refiero por ejemplo a inserts a base de datos que es lo que quiero hacer si falla una inserción que no inserte ninguno o sea si ya metio 5 registros antes que haga un rollback para sacarlos,
gracias una vez mas
  #4 (permalink)  
Antiguo 26/01/2012, 14:09
 
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 185
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Duda jta jpa2

Así es. Podrías capturar una excepción y hacer un rollback si ocurrió algo:

} catch(Exception ex) {
em.getEntityManager().rollback();
} finally {
em.close(); //cerramos siempre el EntityManager al acabar la transacción
  #5 (permalink)  
Antiguo 26/01/2012, 14:36
 
Fecha de Ingreso: enero-2011
Mensajes: 74
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Duda jta jpa2

Gracias por responder la verdad responde muy bien mi duda solo me queda que no he dicho que mi entity manager la voy a inyectar con anotaciones con el @persistentcontext y veo que la creas con el entitymanager factory no se si eso pueda influir en algo
igual muchas gracias por todo si se le ocurre algún otro detalle me lo comenta por favor

Etiquetas: jar, jpa2, aplicaciones
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 07:02.