Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JBoss User Help »

[jboss-user] [Persistence, JBoss/CMP, Hibernate,
 Database] - Setting the ID of the entity manually before persist

scott.stark@jboss.org

2007-08-06


Hello,

I have some simple entities with ID annotated as:

| @Entity
| @Table(name="MY_TABLE")
| public class MyEntity {
| private Long id;
|
| @Id @GeneratedValue
| @Column(name="ID")
| public Long getId() {
|   return id;
| }
|
| public void setId(Long id) {
|  this.id= id;
| }
| }
|

When I try to create a new entity and set its ID manually I get an exception,

here's a sample code:


| MyEntity my = new MyEntity();
| my.setId(new Long(4));
| my.setSomeMoreMethods(...)
| ..
| em.persist(my);
|

I get the following exception


23:02:31,281 FATAL [application] Failed to perform the operation, failure message: javax.persistence.PersistenceExceptio
n: org.hibernate.PersistentObjectException: detached entity passed to persist: velo.entity.ActionLanguage
javax.faces.el.EvaluationException: Failed to perform the operation, failure message: javax.persistence.PersistenceExcep
tion: org.hibernate.PersistentObjectException: detached entity passed to
...


Why is that? The entity is NOT detached, it never got persisted, and I would like to set the ID manually sometime before persisting...

btw: If I invoke em.merge(my); it works, but it persist the object with new IDs


So, is that possible? with TopLink it wasn't a trouble,


Thanks,


Asaf.

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071355
_______________________________________________
jboss-user mailing list
jboss-user@(protected)
https://lists.jboss.org/mailman/listinfo/jboss-user
©2008 junlu.com - Jax Systems, LLC, U.S.A.