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

Problema con JPA al hacer persist

Estas en el tema de Problema con JPA al hacer persist en el foro de Java en Foros del Web. Hola a todos, tengo dos clases que se corresponden a dos tablas, Job y User. Job tiene un user_id en base de datos que ha ...
  #1 (permalink)  
Antiguo 23/08/2015, 09:38
 
Fecha de Ingreso: agosto-2015
Ubicación: Bilbao
Mensajes: 5
Antigüedad: 8 años, 8 meses
Puntos: 0
Problema con JPA al hacer persist

Hola a todos,

tengo dos clases que se corresponden a dos tablas, Job y User. Job tiene un user_id en base de datos que ha sido mapeado via JPA de la siguiente forma:

@ManyToOne
private User user;

El problema es que al hacer persist, me está intentando, creo, guardar también el User entero, no solo el user_id, y me da el siguiente error:

javax.persistence.RollbackException: java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST: com.elea.entity.User@63259c05.
at org.eclipse.persistence.internal.jpa.transaction.E ntityTransactionImpl.commit(EntityTransactionImpl. java:157)
at com.elea.service.JobServiceImpl.insertJob(JobServi ceImpl.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.glassfish.jersey.server.model.internal.Resourc eMethodInvocationHandlerFactory$1.invoke(ResourceM ethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.Abstrac tJavaResourceMethodDispatcher$1.run(AbstractJavaRe sourceMethodDispatcher.java:164)
at org.glassfish.jersey.server.model.internal.Abstrac tJavaResourceMethodDispatcher.invoke(AbstractJavaR esourceMethodDispatcher.java:181)
at org.glassfish.jersey.server.model.internal.JavaRes ourceMethodDispatcherProvider$VoidOutInvoker.doDis patch(JavaResourceMethodDispatcherProvider.java:14 1)
at org.glassfish.jersey.server.model.internal.Abstrac tJavaResourceMethodDispatcher.dispatch(AbstractJav aResourceMethodDispatcher.java:101)
at org.glassfish.jersey.server.model.ResourceMethodIn voker.invoke(ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodIn voker.apply(ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodIn voker.apply(ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(Se rverRuntime.java:305)
at org.glassfish.jersey.internal.Errors$1.call(Errors .java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors .java:267)
at org.glassfish.jersey.internal.Errors.process(Error s.java:315)
at org.glassfish.jersey.internal.Errors.process(Error s.java:297)
at org.glassfish.jersey.internal.Errors.process(Error s.java:267)
at org.glassfish.jersey.process.internal.RequestScope .runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process( ServerRuntime.java:288)
at org.glassfish.jersey.server.ApplicationHandler.han dle(ApplicationHandler.java:1110)
at org.glassfish.jersey.servlet.WebComponent.service( WebComponent.java:401)
at org.glassfish.jersey.servlet.ServletContainer.serv ice(ServletContainer.java:386)
at org.glassfish.jersey.servlet.ServletContainer.serv ice(ServletContainer.java:335)
at org.glassfish.jersey.servlet.ServletContainer.serv ice(ServletContainer.java:222)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:745)

Estoy en pruebas y el user lo estoy creando a mano, es clon de uno ya existente.

Última edición por volldamm69; 23/08/2015 a las 10:03

Etiquetas: clase, jpa
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 18:09.