Javadoc for @LazyGroup
This commit is contained in:
parent
d8fcade838
commit
d00b92259f
|
@ -11,12 +11,34 @@ import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For use with bytecode-enhanced lazy-loading support.
|
* Specifies the <em>fetch group</em> for a persistent attribute of an entity
|
||||||
* <p/>
|
* class. This annotation has no effect unless bytecode enhancement is used,
|
||||||
* Identifies grouping for performing lazy attribute loading. By default all
|
* and field-level lazy fetching is enabled.
|
||||||
* non-collection attributes are loaded in one group named {@code "DEFAULT"}.
|
* <ul>
|
||||||
* This annotation allows defining different groups of attributes to be
|
* <li>When bytecode enhancement is not used, declaring a field as
|
||||||
* initialized together when access one attribute in the group.
|
* {@link jakarta.persistence.Basic#fetch() @Basic(fetch=LAZY)} has no
|
||||||
|
* effect on the runtime behavior of Hibernate. All fields of an entity
|
||||||
|
* are loaded at the same time, as if they all belonged to the same fetch
|
||||||
|
* group.
|
||||||
|
* <li>But when bytecode enhancement is used, a field declared
|
||||||
|
* {@code @Basic(fetch=LAZY)}} is loaded lazily when it is first accessed,
|
||||||
|
* using a separate SQL {@code select} statement. Since this trip to the
|
||||||
|
* database is generally expensive, Hibernate will, by default, load all
|
||||||
|
* lazy fields at once. This annotation provides control over that
|
||||||
|
* behavior.
|
||||||
|
* </ul>
|
||||||
|
* A fetch group identifies a set of related attributes that should be loaded
|
||||||
|
* together when any one of them is accessed. By default, all non-collection
|
||||||
|
* attributes belong to a single fetch group named {@code "DEFAULT"}. The
|
||||||
|
* fetch group for a given lazy attribute may be explicitly specified using
|
||||||
|
* the {@link #value()} member of this annotation.
|
||||||
|
* <p>
|
||||||
|
* For example, a field annotated {@code @Basic(fetch=LAZY) @LazyGroup("extra")}
|
||||||
|
* belongs to the fetch group named {@code "extra"}, and is loaded whenever an
|
||||||
|
* attribute belonging to the {@code "extra"} fetch group is accessed.
|
||||||
|
* <p>
|
||||||
|
* Note that field-level lazy fetching is usually of dubious value, and most
|
||||||
|
* projects using Hibernate don't even bother enabling the bytecode enhancer.
|
||||||
*
|
*
|
||||||
* @author Steve Ebersole
|
* @author Steve Ebersole
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue