Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipselink-dev] Re: Bug 244124 - Add Nested FetchGroup

Checked into trunk Main patch - take 3.
There are some things not done yet:
1) merging in cache still uses "one-storey" union;
2) fetch joins
 
All the fetch groups assigned to objects now are of type EntityFetchGroup.
It's a flat (not nested) fetch group that only reflects the state of its owner
object.
A single EntityFetchGroup may be shared by many objects, and it is immutable.
An EntityFetchGroup usually not created directly but rather looked up on the
FetchGroupmanager (keyed by set of its attributes).
 
When a value is set into not fetched attribute in serialized object (the one
that doesn't have a session) then a new EntityFetchGroup created to reflect the
new object's fetch state.
 
Deprecated partial attributes
Added LOAD_GROUP_ATTRIBUTE QueryHint.
Added "load" method to JpaEntityManager.
----- Original Message -----
Sent: Friday, May 14, 2010 8:51 PM
Subject: Re: Bug 244124 - Add Nested FetchGroup

Rolledback my last fix for Bug 244124 - Add Nested FetchGroup.

It caused cb test failures in moxy and dbws.

Back to the prev. rev.7240

Will investigate on Monday.

----- Original Message -----
Sent: Friday, May 14, 2010 5:58 PM
Subject: Bug 244124 - Add Nested FetchGroup

Checked into trunk.
Main patch.

The patch provides basic nested fetch group functionality.

FetchGroup got a new shouldLoad flag - it indicates whether its attributes
should be loaded.
Also there is a new class LoadGroup, which allows to manage loading of
individual relational attributes.

There is still work to be done in the area of merging with cache and fetch
joins.

A new test package org.eclipse.persistence.testing.tests.jpa.fetchgroups was
added.

See simple examples of different loading arrangements in findMinEmployee tests
in NestedDefaultFetchGroupTests.

A simple merge was tested and works:
serialize object with a fetch group applied to it;
update serialized object (even attribute outside the fetch group);
serialize it back to the server;
merge.
See a simple example in SimpleSerializeFetchGroupTests.simpleSerializeAndMerge.

Back to the top