Class LazyEntityFieldResolver
java.lang.Object
io.github.blyznytsiaorg.bibernate.entity.type.LazyEntityFieldResolver
- All Implemented Interfaces:
TypeFieldResolver
Implementation of
TypeFieldResolver
for resolving custom injection values for lazy-loaded entity fields.
This resolver is responsible for determining if a given field of an entity class represents a lazy-loaded relationship and preparing the value to be injected into the field.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
isAppropriate
(Field field) Determines if the resolver is appropriate for the given field.prepareValueForFieldInjection
(Field field, ResultSet resultSet, Object entity, EntityPersistent entityPersistent) Prepares the value to be injected into the specified field of the entity.
-
Constructor Details
-
LazyEntityFieldResolver
public LazyEntityFieldResolver()
-
-
Method Details
-
isAppropriate
Determines if the resolver is appropriate for the given field. This implementation checks if the field is annotated with
ManyToOne
orOneToOne
with lazy fetch type.- Specified by:
isAppropriate
in interfaceTypeFieldResolver
- Parameters:
field
- the field to be evaluated for custom injection- Returns:
true
if the field represents a lazy-loaded relationship,false
otherwise
-
prepareValueForFieldInjection
public Object prepareValueForFieldInjection(Field field, ResultSet resultSet, Object entity, EntityPersistent entityPersistent) Prepares the value to be injected into the specified field of the entity. This implementation creates a lazy-loading proxy for the entity field, resolving the entity value when accessed.
- Specified by:
prepareValueForFieldInjection
in interfaceTypeFieldResolver
- Parameters:
field
- the field to receive the injected valueresultSet
- the result set containing the data from which the value will be extractedentity
- the entity object to which the field belongsentityPersistent
- the persistent metadata associated with the entity- Returns:
- the lazy-loading proxy for the entity field
-