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

Update entity en cascada JPA

Estas en el tema de Update entity en cascada JPA en el foro de Java en Foros del Web. Hola a todos. Antes de exponer mi problema quiero decir que abrir un tema es mi ultimo recurso ya que me he mirado decenas de ...
  #1 (permalink)  
Antiguo 04/03/2010, 09:45
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Update entity en cascada JPA

Hola a todos. Antes de exponer mi problema quiero decir que abrir un tema es mi ultimo recurso ya que me he mirado decenas de foros y manuales y no he conseguido lo que me propongo hacer.

Estoy desarrollando un proyecto con Spring MVC, JPA y hibernate utilizando anotaciones.

Mi proposito es realizar un update de la clave primaria de una tabla que es clave foranea de otra. Os pongo un esquema sencillo ya que son muchos campos.

Mis tablas son:

Telefonos

idtelefono (PK)
codigo_persona(FK de codigo)

Personas

codigo(PK)
nombre

Mi idea es que al hacer un update en la tabla Personas de codigo, se actualice tambien codigo_persona en la tabla Personas. Para ello estoy utilizando merge(). Aclaro que para hacer un update del nombre en la tabla Personas no tengo ningun problema.

En el dao donde hago el merge tengo, a groso modo, esto (el codigo siguiente esta dentro de un @Transactional):

Código:
Public void updatePersona(codigo,newcodigo,nombre){
 
//creo un objeto Personas con la persona que quiero modificar
 
Personas p=this.getjpatemplate().find(Personas.class, new Long(codigo));
 
//setteo el codigo nuevo
 
p.setCodigo(newcodigo);
p.setNombre(nombre);
 
this.getjpatemplate().merge(p);
 
}
En getjpatemplate ya esta definido el entitymanager.

Se que una clave primaria no deberia modificarse pero no tengo opcion y tiene que ser asi.

En las entidades tengo definidos los cascadeType.All y los insertable=true y updatable=true

A ver si alguien puede echarme una mano. Si necesitais mas datos pedidmelos.

Un saludo y gracias adelantadas.

Última edición por foros2000; 04/03/2010 a las 16:11

Etiquetas: cascada, entity, jpa, update
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 06:15.