-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Problem : "detached entity passed to persist"
PostPosted: Mon May 07, 2012 10:09 am 
Newbie

Joined: Mon May 07, 2012 9:10 am
Posts: 2
Location: Italy(Rome)
Hi, I can not understand what's wrong in my code, in practice, in my system I want to make an assessment for a specific curriculum, I would like to save memory this assessment, but, when I try to save it, the system take me this error:

complete stacktrace.
Code:
GRAVE: Servlet.service() for servlet [Spring MVC Dispatcher Servlet] in context with path [/orion-web] threw exception [Request processing failed; nested exception is org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@165b124 targetAction = [EvaluateAction@150c296 expression = inserimentoRecruitingController.salvaRecruiting(), resultExpression = [null]], attributes = map[[empty]]] in state 'valutazione' of flow 'valutazioneCandidato-flow' -- action execution attributes were 'map[[empty]]'] with root cause
org.hibernate.PersistentObjectException: [color=#FF0000]detached entity passed to persist: it.dstech.dms.cigno.jpa.model.impl.CurriculumVitaeEntityImpl[/color]
   at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:127)
   at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:799)
   at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:791)
   at org.hibernate.engine.EJB3CascadingAction$1.cascade(EJB3CascadingAction.java:48)
   at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:392)
   at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:335)
   at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204)
   at org.hibernate.engine.Cascade.cascade(Cascade.java:161)
   at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:450)
   at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:282)
   at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
   at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
   at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:69)
   at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:179)
   at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:135)
   at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
   at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:808)
   at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:782)
   at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:786)
   at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:672)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365)
   at $Proxy30.persist(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
   at $Proxy30.persist(Unknown Source)
   at it.dstech.dms.cigno.service.core.service.impl.recruiting.RecruitingServiceImpl.saveRecruiting(RecruitingServiceImpl.java:55)
   at it.dstech.dms.cigno.service.core.service.impl.recruiting.RecruitingServiceImpl$$FastClassByCGLIB$$1e5f6a9c.invoke(<generated>)
   at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
   at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:617)
   at it.dstech.dms.cigno.service.core.service.impl.recruiting.RecruitingServiceImpl$$EnhancerByCGLIB$$6a801cce.saveRecruiting(<generated>)
   at it.dstech.dms.orion.swf.manager.impl.GestioneRecruitingWFManagerImpl.doInsertRecruiting(GestioneRecruitingWFManagerImpl.java:45)
   at it.dstech.dms.cigno.model.InserimentoRecruitingController.salvaRecruiting(InserimentoRecruitingController.java:38)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:69)
   at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:110)
   at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:57)
   at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)
   at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:97)
   at org.springframework.binding.expression.spel.SpringELExpression.getValue(SpringELExpression.java:84)
   at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:75)
   at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
   at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
   at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
   at org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82)
   at org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71)
   at org.springframework.webflow.engine.Transition.canExecute(Transition.java:195)
   at org.springframework.webflow.engine.Transition.execute(Transition.java:211)
   at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:393)
   at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
   at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
   at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
   at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:388)
   at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
   at org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:232)
   at org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
   at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
   at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:261)
   at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
   at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
   at org.springframework.faces.webflow.JsfFlowHandlerAdapter.handle(JsfFlowHandlerAdapter.java:48)
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
   at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)








these are the classes with hibernate mappings, in red are the relationships where the problem occurs
Code:
@Entity
@Table(name = "CGN_CURRVIT")
public class CurriculumVitaeEntityImpl extends AbstractJpaEntity implements
      CurriculumVitaeEntity {

   private static final long serialVersionUID = 1L;

   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   @Column(name = "ID")
   private Long id;

   @ManyToOne(targetEntity = PersonaEntityImpl.class, cascade = CascadeType.ALL)
   @JoinColumn(name = "PERSONA")
   private PersonaEntity persona;

   
   [color=#FF0000]@OneToOne(mappedBy = "curriculumVitae", targetEntity = RecruitingEntityImpl.class)
   @Cascade({ org.hibernate.annotations.CascadeType.SAVE_UPDATE })
   private List<RecruitingEntity> recruitingEntity;[/color]
   




Code:
@Entity
@Table(name = "CGN_RECR")
public class RecruitingEntityImpl extends AbstractJpaEntity implements
      RecruitingEntity {

   /**
    *
    */
   private static final long serialVersionUID = 1L;
   @Id
   @Column(name = "ID")
   @GeneratedValue(strategy = GenerationType.AUTO)
   private Long id;

   @Column(name = "RECRUITING_ID")
   private Long recruitingId;

   @Column(name = "GIUDIZIO")
   private Long giudizio;       //valore da 1 a 5

   @Column(name = "NOTE")
   private String note;
   
   @OneToOne(targetEntity = ValutazioneEntityImpl.class, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
   @JoinColumn(name = "VALUTAZIONE")
   private ValutazioneEntity valutazione = new ValutazioneEntityImpl();

      
   [color=#FF4000]@OneToOne(targetEntity = CurriculumVitaeEntityImpl.class, cascade = CascadeType.ALL )
   @JoinColumn(name = "CURRICULUM_ID")
   @Cascade({ org.hibernate.annotations.CascadeType.SAVE_UPDATE })
   private CurriculumVitaeEntity curriculumVitae;
[/color]
.......
}


This is the class which provides data storage on the database
Code:
public class RecruitingServiceImpl extends AbstractDmsService implements
      RecruitingService {


public void saveRecruiting(RecruitingEntity recruiting) {

      /* in curriculumVitae ci sono tutti i dati da salvare */

      /*
       * Cerco il persistenceStatus dal db e lo setto al curriculum vitae e
       * alla persona associata
       */
      PersistenceStatus persistenceStatus = this.entityManager.find(
            PersistenceStatusImpl.class, 1L);
      recruiting.setPersistenceStatus(persistenceStatus);
      
      ValutazioneTipologicalEntity valutazioneEntity = valutazioneService
            .findByDescription(recruiting.getValutazione().getValutazione()
                  .getDescription());
      recruiting.getValutazione().setValutazione(valutazioneEntity);

      recruiting.getValutazione()
            .setPersistenceStatus(persistenceStatus);

      entityManager.persist(recruiting);

   }



Thanks:) :)


Top
 Profile  
 
 Post subject: Re: Problem : "detached entity passed to persist"
PostPosted: Wed May 16, 2012 6:48 am 
Newbie

Joined: Mon May 07, 2012 9:10 am
Posts: 2
Location: Italy(Rome)
Up please :(


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.