detached entity passed to persist
tony.herstell1 Feb 28, 2008 7:36 AMI have Booking and Users can make a booking.
private User byUser; @NotNull @ManyToOne(cascade={CascadeType.ALL}) public User getByUser() { return byUser; }
Is @ManyToOne correct?
Assuming it is; when I em.persist(booking); I get
19:22:35,657 FATAL [application] javax.ejb.EJBTransactionRolledbackException: org.hibernate.PersistentObjectException: detached entity passed to persist: nz.co.selwynequestriancentre.model.entity.User javax.faces.el.EvaluationException: javax.ejb.EJBTransactionRolledbackException: org.hibernate.PersistentObjectException: detached entity passed to persist: nz.co.selwynequestriancentre.model.entity.User
I tries adding a em.merge(booking.getByUser()); to force the re-attaching of the User to the booking; and Seam goes off and finds it but still dies:
19:22:35,641 INFO [STDOUT] Hibernate: select user0_.id as id6_2_, user0_.version4OptLock as version2_6_2_, user0_.password as password6_2_, user0_.email as email6_2_, user0_.avatar_id as avatar23_6_2_, user0_.firstname as firstname6_2_, user0_.surname as surname6_2_, user0_.emailContactOk as emailCon7_6_2_, user0_.homePhone as homePhone6_2_, user0_.mobilePhone as mobilePh9_6_2_, user0_.phoneContactOk as phoneCo10_6_2_, user0_.dressageJudge as dressag11_6_2_, user0_.dressageWriter as dressag12_6_2_, user0_.dressageHelper as dressag13_6_2_, user0_.sjJudge as sjJudge6_2_, user0_.sjHelper as sjHelper6_2_, user0_.showingJudge as showing16_6_2_, user0_.showingHelper as showing17_6_2_, user0_.eventsHelper as eventsH18_6_2_, user0_.termsApproved as termsAp19_6_2_, user0_.creationDate as creatio20_6_2_, user0_.dateEffectiveFrom as dateEff21_6_2_, user0_.dateEffectiveTo as dateEff22_6_2_, roles1_.User_id as User1_4_, selwyneque2_.id as roles2_4_, selwyneque2_.id as id5_0_, selwyneque2_.version4OptLock as version2_5_0_, selwyneque2_.role as role5_0_, image3_.id as id3_1_, image3_.name as name3_1_, image3_.type as type3_1_, image3_.version4OptLock as version4_3_1_, image3_.image as image3_1_ from User user0_ left outer join User_SelwynEquestrianCentreRole roles1_ on user0_.id=roles1_.User_id left outer join SelwynEquestrianCentreRole selwyneque2_ on roles1_.roles_id=selwyneque2_.id left outer join Image image3_ on user0_.avatar_id=image3_.id where user0_.id=? 19:22:35,657 FATAL [application] javax.ejb.EJBTransactionRolledbackException: org.hibernate.PersistentObjectException: detached entity passed to persist: nz.co.selwynequestriancentre.model.entity.User javax.faces.el.EvaluationException: javax.ejb.EJBTransactionRolledbackException: org.hibernate.PersistentObjectException: detached entity passed to persist: nz.co.selwynequestriancentre.model.entity.User
If I take out the user from booking I can get it to persist (all 4 levels!!!). Has any one got any idea what I am doing wrong?