/**
* INTERNAL:
* Set fetch group into the object.
*/
public void setObjectFetchGroup(Object source, FetchGroup fetchGroup, AbstractSession session) {
FetchGroupTracker tracker = (FetchGroupTracker)source;
if(fetchGroup == null) {
tracker._persistence_setFetchGroup(null);
tracker._persistence_setSession(null);
} else {
if(fetchGroup.isEntityFetchGroup()) {
// it's EntityFetchGroup - just set it
tracker._persistence_setFetchGroup(fetchGroup);
tracker._persistence_setSession(session);
} else {
EntityFetchGroup entityFetchGroup = this.getEntityFetchGroup(fetchGroup);
if(entityFetchGroup != null) {
tracker._persistence_setFetchGroup(entityFetchGroup);
tracker._persistence_setSession(session);
} else {
tracker._persistence_setFetchGroup(null);
tracker._persistence_setSession(null);
}
}
}
}