Top Description Methods
org.hibernate

public Interface SimpleNaturalIdLoadAccess<T>

Known Direct Implementers
org.hibernate.loader.internal.SimpleNaturalIdLoadAccessImpl
Imports
org.hibernate.graph.GraphSemantic, .RootGraph, java.util.Optional

Loads an entity by its natural identifier. This simplified API is used when the entity has exactly one field or property annotated @NaturalId. If an entity has multiple attributes annotated @NaturalId, then NaturalIdLoadAccess should be used instead.

Book book = session.bySimpleNaturalId(Book.class).load(isbn);
Authors
Eric Dalquist, Steve Ebersole
See Also
Session#bySimpleNaturalId(Class), org.hibernate.annotations.NaturalId, NaturalIdLoadAccess

Method Summary

Modifier and TypeMethod and Description
public SimpleNaturalIdLoadAccess<T>
disableFetchProfile(String profileName)

Customize the associations fetched by specifying a fetch profile that should be disabled during this operation.

public SimpleNaturalIdLoadAccess<T>
enableFetchProfile(String profileName)

Customize the associations fetched by specifying a fetch profile that should be enabled during this operation.

public T

Returns:

The persistent instance or proxy, if an instance exists. Otherwise, null.
getReference
(Object
The value of the natural id
naturalIdValue
)

Return the persistent instance with the given natural id value, assuming that the instance exists.

public T

Returns:

The persistent instance or null
load
(Object
The value of the natural-id
naturalIdValue
)

Return the persistent instance with the given natural id value, or null if there is no such persistent instance.

public Optional<T>

Returns:

The persistent instance, if any, as an Optional
loadOptional
(Object
The identifier
naturalIdValue
)

Just like load, except that here an Optional is returned.

public SimpleNaturalIdLoadAccess<T>

Returns:

this, for method chaining
setSynchronizationEnabled
(boolean
Should synchronization be performed? true indicates synchronization will be performed; false indicates it will be circumvented.
enabled
)

For entities with mutable natural ids, should Hibernate perform "synchronization" prior to performing lookups?

public SimpleNaturalIdLoadAccess<T>

Returns:

this, for method chaining
with
(LockOptions
The lock options to use
lockOptions
)

Specify the lock options to use when querying the database.

public SimpleNaturalIdLoadAccess<T>
with(RootGraph<T> graph, GraphSemantic semantic)

Customize the associations fetched by specifying an entity graph, and how it should be interpreted.

public default SimpleNaturalIdLoadAccess<T>
withFetchGraph(RootGraph<T> graph)

Override the associations fetched by default by specifying the complete list of associations to be fetched as an entity graph.

public default SimpleNaturalIdLoadAccess<T>
withLoadGraph(RootGraph<T> graph)

Augment the associations fetched by default by specifying a list of additional associations to be fetched as an entity graph.

Method Detail

disableFetchProfileback to summary
public SimpleNaturalIdLoadAccess<T> disableFetchProfile(String profileName)

Customize the associations fetched by specifying a fetch profile that should be disabled during this operation.

This allows the session-level fetch profiles to be temporarily overridden.

Since
6.3
enableFetchProfileback to summary
public SimpleNaturalIdLoadAccess<T> enableFetchProfile(String profileName)

Customize the associations fetched by specifying a fetch profile that should be enabled during this operation.

This allows the session-level fetch profiles to be temporarily overridden.

Since
6.3
getReferenceback to summary
public T getReference(Object naturalIdValue)

Return the persistent instance with the given natural id value, assuming that the instance exists. This method might return a proxied instance that is initialized on-demand, when a non-identifier method is accessed.

You should not use this method to determine if an instance exists; to check for existence, use load instead. Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error.

Parameters
naturalIdValue:Object

The value of the natural id

Returns:T

The persistent instance or proxy, if an instance exists. Otherwise, null.

loadback to summary
public T load(Object naturalIdValue)

Return the persistent instance with the given natural id value, or null if there is no such persistent instance. If the instance is already associated with the session, return that instance, initializing it if needed. This method never returns an uninitialized instance.

Parameters
naturalIdValue:Object

The value of the natural-id

Returns:T

The persistent instance or null

loadOptionalback to summary
public Optional<T> loadOptional(Object naturalIdValue)

Just like load, except that here an Optional is returned.

Parameters
naturalIdValue:Object

The identifier

Returns:Optional<T>

The persistent instance, if any, as an Optional

setSynchronizationEnabledback to summary
public SimpleNaturalIdLoadAccess<T> setSynchronizationEnabled(boolean enabled)

For entities with mutable natural ids, should Hibernate perform "synchronization" prior to performing lookups? The default is to perform "synchronization" (for correctness).

See NaturalIdLoadAccess#setSynchronizationEnabled for detailed discussion.

Parameters
enabled:boolean

Should synchronization be performed? true indicates synchronization will be performed; false indicates it will be circumvented.

Returns:SimpleNaturalIdLoadAccess<T>

this, for method chaining

withback to summary
public SimpleNaturalIdLoadAccess<T> with(LockOptions lockOptions)

Specify the lock options to use when querying the database.

Parameters
lockOptions:LockOptions

The lock options to use

Returns:SimpleNaturalIdLoadAccess<T>

this, for method chaining

withback to summary
public SimpleNaturalIdLoadAccess<T> with(RootGraph<T> graph, GraphSemantic semantic)

Customize the associations fetched by specifying an entity graph, and how it should be interpreted.

withFetchGraphback to summary
public default SimpleNaturalIdLoadAccess<T> withFetchGraph(RootGraph<T> graph)

Override the associations fetched by default by specifying the complete list of associations to be fetched as an entity graph.

withLoadGraphback to summary
public default SimpleNaturalIdLoadAccess<T> withLoadGraph(RootGraph<T> graph)

Augment the associations fetched by default by specifying a list of additional associations to be fetched as an entity graph.