Friday, May 31, 2013

change in children not saved in GWT 2.5.1 after implement OSIV

Hi there, 

I have a Parent object containing a list of Children objects. Both are EntityProxy.  My RequestFactory API is to persist the Parent along with Children collection.  My JPA layer is EclipseLink (JPA 1.0), with entity manager cache ENABLED. 

In UI, I change some property on children (without changing parent). When the backend API is called, I expect to see that the Parent's children objects will have the updates.

In GWT 2.4.0, I do see that because GWT 2.4.0 sends the list of children to server regardless.  In GWT 2.5.1, I see only the delta is sent across the wire (this is correct), but in the backend, I do not see the children collection with updates, that is incorrect. 

I did implement one-entitymanager-per-request pattern based on a solution someone offered on this group. I verified that only one instance of child is created by JPA during the request. I also verified that GWT client is correctly sending the delta to GWT server and setter methods are called on JPA entity to set the correct value (after JPA loads children from database). Afterwards, the setter is not called and no child object ever created again. 

However, when the code reaches the API (as seen in debugger), I do not see the children objects has the updates. 

Why is this?  GWT runtime is somehow loading the object from somewhere else?

Thanks,
Yan

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment