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

update

Estas en el tema de update en el foro de Java en Foros del Web. estoy haciendo el metodo modificar, y con hibernate uso la opcion de update. Como base de datos tengo mysql. Me sale un error: org.hibernate.TransientObjectException: The ...
  #1 (permalink)  
Antiguo 09/05/2007, 09:49
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
update

estoy haciendo el metodo modificar, y con hibernate uso la opcion de update. Como base de datos tengo mysql. Me sale un error:
org.hibernate.TransientObjectException: The given object has a null identifier: proyecto.hibernate.Expediente
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.getUpdateId(DefaultSaveOrUpdateEventListene r.java:227)
at org.hibernate.event.def.DefaultUpdateEventListener .getUpdateId(DefaultUpdateEventListener.java:46)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.entityIsDetached(DefaultSaveOrUpdateEventLi stener.java:214)
at org.hibernate.event.def.DefaultUpdateEventListener .performSaveOrUpdate(DefaultUpdateEventListener.ja va:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.onSaveOrUpdate(DefaultSaveOrUpdateEventList ener.java:70)
at org.hibernate.impl.SessionImpl.fireUpdate(SessionI mpl.java:559)
at org.hibernate.impl.SessionImpl.update(SessionImpl. java:547)
at org.hibernate.impl.SessionImpl.update(SessionImpl. java:539)
at proyecto.hibernate.ExpedienteDao.modifica(Expedien teDao.java:142)
at proyecto.hibernate.struts.action.ExpedienteAction. modificaExp(ExpedienteAction.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchM ethod(DispatchAction.java:269)
at org.apache.struts.actions.DispatchAction.execute(D ispatchAction.java:170)
at org.apache.struts.chain.commands.servlet.ExecuteAc tion.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAc tion.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase .execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.exe cute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
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:228)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11AprProcessor.proces s(Http11AprProcessor.java:866)
at org.apache.coyote.http11.Http11AprProtocol$Http11C onnectionHandler.process(Http11AprProtocol.java:71 6)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run( AprEndpoint.java:1498)
at java.lang.Thread.run(Thread.java:619)

y dice que es porque un identificador es nulo. Pero resulta que el identificador de expediente es un numero que no se puede modificar(yo no quiero que eso suceda) y no lo cojo del formulario con el resto de informacion que si se puede modificar y por eso recoje un null en el numero de expediente. Mi pregunta es como hago que no aparezca este error

gracias
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 08:54.