The problem with this is you will end up writing a lot of code to get
the whole object back. It makes a complex Data Access layer and makes
me wonder is it worth using a relational database. If I have to fetch
relationships separately (in either layer) why not use a key store
database.

On Nov 18, 2:47 am, agi <agata.p...@gmail.com> wrote:
> Hi
>
> I had this problem as well. I haven't found perfect solution.. What I
> have done is while retrieving data from the database so e.g. in
> findEntity(Long id) method I am forcing persistent layer to return my
> collection immediately:
> Entity findEntity(Long id)
> {
>   // open transaction, get entityManager etc.
>   // ...
>
>   Entity obj = entityManager.find(id);
>
>   // force retrival of collection
>   obj.getDonations().size();
>
>   // handle transaction and entitymanager etc.
>   //...
>
> }
>
> I will be very glad to find out how to make it in a better way:)
>
> On Nov 18, 1:02 am, PJ Herring <pjh...@gmail.com> wrote:
>
>
>
>
>
>
>
> > So I've been working on this problem with RequestFactory and Lazy
> > Loading. I am using a Service Layer to deal with operations on Domain
> > Objects. I ran into a problem when I was trying to "merge" an object
> > with my Hibernate Domain layer. Hibernate was throwing a "lazy
> > loading" error ("Failed to lazily initialize a collection"). The
> > problem was when I fetched an object via RequestFactory it did not
> > come with its relationships. So if I had a Donor with a collection of
> > Donations, the Donations do not come with the initial fetch unless
> > specified (i.e.
> > requestFactory.donorRequest().fetch(id).with("donations")). When I
> > removed the relationship from the Proxy Domain Object (so removing the
> > methods getDonations and setDonations from the DonorProxy), I did not
> > have this problem. The merge worked fine. Why is this the case?
>
> > Second, if this is the case it would seem beneficial to remove
> > relationships that you would normally want to lazy load from the
> > proxies and just make an explicit call to load up the collection. So
> > remove the getDonation and setDonation from the DonorProxy and when I
> > need those donations just make a call with the donorId to get them.
> > This seems counter intuitive to me, but seems also not like a terrible
> > idea. Basically I am trading of between having to make explicit calls
> > to load OneToMany relationships and being able to do merge's. AM I
> > CRAZY?

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

Reply via email to