@Target(value={})
@Retention(value=RUNTIME)
public @interface FetchAttribute
A fetch attribute is specified within a fetch group and is used as a
performance enhancement that allows a group of attributes of an object to be
loaded on demand, which means that the data for an attribute might not loaded
from the underlying data source until an explicit access call for the
attribute first occurs. It avoids the wasteful practice of loading up all
data of the object's attributes, in which the user is interested in only
partial of them.
A great deal of caution and careful system use case analysis should be use
when using the fetch group feature, as the extra round-trip would well offset
the gain from the deferred loading in many cases.
EclipseLink fetch group support is twofold: the pre-defined fetch groups at
the Entity or MappedSuperclass level; and dynamic (use case) fetch groups at
the query level.
- Author:
- Guy Pelletier
- Since:
- EclipseLink 2.1