i think the problem lies here:

 @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
   @JoinColumn(nullable = false)
   private User user;


cascadetype.all  means when u create new Booking, persist it will also
persist the user, which leads to id-conflict




On Wed, Jul 6, 2011 at 1:29 AM, Alexander Orlov
<[email protected]>wrote:

> On Jul 5, 8:33 pm, Jens <[email protected]> wrote:
> > I think its not a RequestFactory problem but more a JPA problem. For some
>
> I suppose so.
>
> > reason EclipseLink things it has to insert the User object although it
> > already exists and has an id.
>
> Exactly.
>
> > In your case I think you have to do something like:
> >
> > User attachedUser = entityManager.merge(booking.getUser());
> > booking.setUser(attachedUser); //maybe thats not needed.
> > entityManager.persist(booking).
>
> I've added the following annotation: @OneToOne(fetch = FetchType.LAZY,
> cascade = CascadeType.DETACH/MERGE) which reports the following error
> now:
> com.google.web.bindery.requestfactory.server.UnexpectedException: The
> persisted entity with id 1 has a null version
>
>
> >
> > That way you tell the EntityManager that the user already exists.
> >
> > A second way would be to fetch the already existing user:
> >
> > User attachedUser = entityManager.find(User.class,
> > booking.getUser().getId());
> > booking.setUser(user); //maybe thats not needed
> > entityManager.persist(booking);
>
> Same as above.
>
> -Alex
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to