Hi all,

I have an entity, named AdatlapElozetesR, wich looks like this:

  | package mypackage;
  | 
  | import java.util.*;
  | import javax.persistence.*;
  | 
  | @Entity
  | @Table(name = "ADATLAPELOZETESR", uniqueConstraints = {})
  | public class AdatlapElozetesR implements java.io.Serializable {
  | 
  |     private static final long serialVersionUID = -7341044940631282534L;
  |     private Integer id;
  |     private Date datum;
  | 
  |     public AdatlapElozetesR() { }
  | 
  |     public AdatlapElozetesR(Integer id,
  |                            Date datum) {
  |             this.id = id;
  |             this.datum = datum;
  |     }
  | 
  |     public AdatlapElozetesR(AdatlapElozetesR p_adatlapelozetesr) {
  |             this.id = p_adatlapelozetesr.getId();
  |             this.datum = p_adatlapelozetesr.getDatum();
  |     }
  | 
  |     @Id
  |     @Column(name = "id", unique = true, nullable = false, insertable = 
true, updatable = true)
  |     @SequenceGenerator(name="SQC_ALE", 
sequenceName="ADAT.SQ_ADATLAP_ELOZETES", allocationSize=1)
  |     @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SQC_ALE")
  |     public Integer getId() { return this.id; }
  |     public void setId(Integer id) { this.id = id; }
  | 
  |     @Temporal(TemporalType.DATE)
  |     @Column(name = "datum", unique = false, nullable = false, insertable = 
true, updatable = true, length = 13)
  |     public Date getDatum() { return this.datum; }
  |     public void setDatum(Date datum) { this.datum = datum; }
  | 
  | }
  | 

To manage this entity I use a session bean:

  | package mypackage.adat;
  | 
  | import java.sql.*;
  | import java.text.Format;
  | import java.text.SimpleDateFormat;
  | import java.util.*;
  | import javax.ejb.Stateless;
  | import javax.ejb.TransactionAttribute;
  | import javax.ejb.TransactionAttributeType;
  | import javax.naming.InitialContext;
  | import javax.sql.DataSource;
  | import javax.persistence.EntityManager;
  | import javax.persistence.PersistenceContext;
  | import javax.persistence.Query;
  | import org.apache.log4j.*;
  | import org.hibernate.*;
  | import org.hibernate.cfg.*;
  | 
  | import mypackage.AdatlapElozetesR;
  | 
  | @Stateless
  | public class AdatlapElozetesRBean implements AdatlapElozetesRRemote, 
AdatlapElozetesRLocal, java.io.Serializable {
  | 
  |     private static final Logger log = 
Logger.getLogger(AdatlapElozetesRBean.class);
  |     @PersistenceContext(unitName="persistUniter")
  |     private EntityManager em;
  | 
  |     public void persist(AdatlapElozetesR transientInstance) {
  |             //AdatlapElozetesR n = new AdatlapElozetesR(transientInstance);
  |             System.out.println((transientInstance == null ? 
"transientInstance NULL" :"transientInstance OK, "+transientInstance));
  |             try {
  |                     em.persist(transientInstance);
  |                     log.debug("persist successful");
  |             } catch (RuntimeException re) {
  |                     log.error("persist failed", re);
  |                     throw re;
  |             }
  |     }
  | 
  | ...
  | }
  | 
And my test client looks like this:

  | package mypackage.test;
  | 
  | import java.util.*;
  | import javax.naming.InitialContext;
  | 
  | import org.hibernate.*;
  | import org.hibernate.cfg.*;
  | 
  | import mypackage.adat.*;
  | import mypackage.*;
  | 
  | public class AdatlapElozetesRTest {
  | 
  |     AdatlapElozetesRTest() {
  |             System.out.println("AdatlapElozetesRTest()");
  |     }
  |     private void CreateAdatlapElozetesR() {
  |             System.out.println("CreateAdatlapElozetesR()");
  |             AdatlapElozetesR ale = new AdatlapElozetesR(new Integer(0),
  |                                                                      new 
Date());
  |             System.out.println((ale == null ? "ale NULL" : "ale OK"));
  |             try {
  |                     Properties properties = new Properties();
  |                     properties.setProperty("java.naming.provider.url", 
"jnp://localhost:1099");
  |                     properties.setProperty("java.naming.factory.url.pkgs", 
"org.jboss.naming");
  |                     
properties.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
  |                     InitialContext ctx = new InitialContext( properties );
  |                     AdatlapElozetesRInterface aei = 
(AdatlapElozetesRInterface)ctx.lookup("AdatlapElozetesRBean/remote");
  |                     System.out.println((aei == null ? "aei NULL" : "aei 
OK"));
  |                     aei.persist(ale);
  |             } catch(org.hibernate.PersistentObjectException poex) {
  |                     System.out.println("feliras()\n"+poex);
  |                     //ex.printStackTrace();
  |             } catch(Exception ex) {
  |                     System.out.println("feliras()\n"+ex);
  |                     //ex.printStackTrace();
  |             }
  |     }
  |     public static void main(String[] args) {
  |             AdatlapElozetesRTest t1 = new AdatlapElozetesRTest();
  |             t1.CreateAdatlapElozetesR();
  |             t1 = null;
  |     }
  | }
  | 
When I run the client, to insert a new row in my table I get this error:

  | 21:47:37,032 INFO  [STDOUT] transientInstance OK, [EMAIL PROTECTED]
  | 21:47:37,032 ERROR [AdatlapElozetesBean] persist failed
  | javax.persistence.PersistenceException: 
org.hibernate.PersistentObjectException: detached entity passed to persist: 
mypackage.adat.AdatlapElozetes
  |         at 
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:647)
  |         at 
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:218)
  |         at 
org.jboss.ejb3.entity.TransactionScopedEntityManager.persist(TransactionScopedEntityManager.java:175)
  |         at 
mypackage.adat.AdatlapElozetesBean.persist(AdatlapElozetesBean.java:47)
  |         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:597)
  |         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:46)
  |         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:76)
  |         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:102)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at 
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
  |         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.dynamicInvoke(StatelessContainer.java:263)
  |         at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
  |         at 
org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
  |         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
  |         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
  | Caused by: org.hibernate.PersistentObjectException: detached entity passed 
to persist: mypackage.adat.AdatlapElozetes
  |         at 
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
  |         at 
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
  |         at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)
  |         at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
  |         at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
  |         at 
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:212)
  |         ... 36 more
  | 
Can somebody help me, to fix this problem?
Thank you.

My configuration is:

Windows XP,
Java VM: Java HotSpot(TM) Server VM 1.6.0_01-b06,Sun Microsystems Inc.
PostgreSQL 8.2
JBoss [Zion] 4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)
Hibernate 3.2.0.ga
Hibernate EntityManager 3.2.0.GA
Hibernate Annotations 3.2.0.GA


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4040333#4040333

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4040333
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to