-->
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: Hibernate Tools Generated Code, Can not remove record.
PostPosted: Wed Jul 02, 2008 9:59 am 
Newbie

Joined: Sun Mar 19, 2006 4:18 pm
Posts: 17
Location: Turkey
Hibernate version:
hibernate-3.2.6.ga

Code between sessionFactory.openSession() and session.close():
@PersistenceContext
private EntityManager entityManager;

Full stack trace of any exception that occurs:
16:40:17,268 ERROR [PrStaffCostHome] remove failed
java.lang.IllegalArgumentException: Removing a detached instance com.atosorigin.utils.pojo.PrStaffCost#com.atosorigin.utils.pojo.PrStaffCostId@665288
at org.hibernate.ejb.event.EJB3DeleteEventListener.performDetachedEntityDeletionCheck(EJB3DeleteEventListener.java:45)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:86)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:52)
at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:770)
at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:748)
at org.hibernate.ejb.AbstractEntityManagerImpl.remove(AbstractEntityManagerImpl.java:253)
at org.jboss.ejb3.entity.TransactionScopedEntityManager.remove(TransactionScopedEntityManager.java:194)
at com.atosorigin.utils.pojo.PrStaffCostHome.remove(PrStaffCostHome.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
at $Proxy1248.remove(Unknown Source)
at com.atosorigin.utils.bean.PrStaffCostBean.deletePrStaffCost(PrStaffCostBean.java:62)
at com.atosorigin.timereport.servlet.MainController.doDeleteStaffCost(MainController.java:1269)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.atosorigin.timereport.servlet.MainController.service(MainController.java:90)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:595)


Name and version of the database you are using:
mysql 5.1


Hi,

This is the hibernate tools generated DAO code:

Code:
package com.atosorigin.utils.pojo;

// Generated Jun 30, 2008 6:52:59 PM by Hibernate Tools 3.2.1.GA

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.atosorigin.utils.EjbCommand;

/**
* Home object for domain model class PrStaffCost.
* @see com.atosorigin.utils.ejb.reveng.PrStaffCost
* @author Hibernate Tools
*/
@Stateless
public class PrStaffCostHome implements PrStaffCostLocalInterface{

   private static final Log log = LogFactory.getLog(PrStaffCostHome.class);

   @PersistenceContext
   private EntityManager entityManager;

   public void persist(PrStaffCost transientInstance) {
      log.debug("persisting PrStaffCost instance");
      try {
         entityManager.persist(transientInstance);
         log.debug("persist successful");
      } catch (RuntimeException re) {
         log.error("persist failed", re);
         throw re;
      }
   }

   public void remove(PrStaffCost persistentInstance) {
      log.debug("removing PrStaffCost instance");
      try {
         entityManager.remove(persistentInstance);
         log.debug("remove successful");
      } catch (RuntimeException re) {
         log.error("remove failed", re);
         throw re;
      }
   }

   public PrStaffCost merge(PrStaffCost detachedInstance) {
      log.debug("merging PrStaffCost instance");
      try {
         PrStaffCost result = entityManager.merge(detachedInstance);
         log.debug("merge successful");
         return result;
      } catch (RuntimeException re) {
         log.error("merge failed", re);
         throw re;
      }
   }

   public PrStaffCost findById(PrStaffCostId id) {
      log.debug("getting PrStaffCost instance with id: " + id);
      try {
         PrStaffCost instance = entityManager.find(PrStaffCost.class, id);
         log.debug("get successful");
         return instance;
      } catch (RuntimeException re) {
         log.error("get failed", re);
         throw re;
      }
   }
   
   @SuppressWarnings("unchecked")
   public List<PrStaffCost> list(EjbCommand ejbCommand) {
      log.debug("getting PrStaffCost list");
      List<PrStaffCost> list;
      try {
         list = ejbCommand.createQuery(entityManager).getResultList();
         log.debug("get successful");
      } catch (RuntimeException re) {
         log.error("get failed", re);
         throw re;
      }
      return list;
   }
}


I am trying to delete a record by this function:

Code:
   public void deletePrStaffCost(PrStaffCostId prStaffCostId) throws Exception {
      prStaffCostInstance = EjbUtil.lookup(PrStaffCostHome.class, "surgeonfish/PrStaffCostHome/local");
      PrStaffCost prStaffCost = prStaffCostInstance.findById(prStaffCostId);
      if(Util.isNull(prStaffCost)) {
         throw new Exception("The record have been changed by any other user.");
      }
      prStaffCostInstance.remove(prStaffCost);
   }


I am getting the error.

Am I missing some thing? Or do I have to change tool generated code?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 12, 2008 7:41 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 6:10 am
Posts: 8615
Location: Neuchatel, Switzerland (Danish)
looks like a possible classloader issue ? Not sure though - error looks weird.

_________________
Max
Don't forget to rate


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.