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

EJB3 problema eliminando tabla con foraneas

Estas en el tema de EJB3 problema eliminando tabla con foraneas en el foro de Java en Foros del Web. Hola a todos, tal como lo menciona el título, siempre encuentro en los tutoriales un código muy genérico para remover filas a traves de un ...
  #1 (permalink)  
Antiguo 06/06/2012, 17:59
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
EJB3 problema eliminando tabla con foraneas

Hola a todos, tal como lo menciona el título, siempre encuentro en los tutoriales un código muy genérico para remover filas a traves de un entitymanager, pero cuando intento eliminar una fila en una tabla que tiene llaves foraneas me sale:

Cita:

serverError: class javax.faces.el.EvaluationException Bean Validation constraint(s) violated while executing Automatic Bean Validation on callback event:'prePersist'. Please refer to embedded ConstraintViolations for details.
el codigo que estoy utilizando es este:

Cita:

//...

Entity1 filaAEliminar = em.find(Entity1 .class,valor_LLave_Primaria);

try {

utx.begin();
//em2.merge(filaAEliminar); // acá ya intente actualizar primero(encontre esta posible solución pero tampoco me funciono)
em2.remove(filaAEliminar);
utx.commit();
}//...
agradezco sus recomendaciones.
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-
  #2 (permalink)  
Antiguo 07/06/2012, 17:59
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: EJB3 problema eliminando tabla con foraneas

Dudo que encuentres un ejemplo para eliminar una "filas", en vez de un Entidad AnnotaMappeada (y estos a su vez con alguna posible relación de multiplicidad OneToOne, ManyToOne etc..). Es decir, pensar y trabajar con Objects y sus relacciones; y no con filas y FK's.
Estás usando EJB3, así que deberías estar usando un Servidor de aplicaciones cierto?, porqué no dejas que este se haga cargo de las transacciones (estoy viendo un utx.commin(); que indica lo contrario)?
También estoy viendo un em.find y después un em2, estás utilizando 2 EntityManager diferentes para concretar UNA acción. Si bien el persistence context es compartido por ambas, no así pasa con las transacciones.
__________________
BadProgrammerException!

Etiquetas: ejb3, tabla, foreignkey
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 19:00.