Class LazyEntityFieldResolver

java.lang.Object
io.github.blyznytsiaorg.bibernate.entity.type.LazyEntityFieldResolver
All Implemented Interfaces:
TypeFieldResolver

public class LazyEntityFieldResolver extends Object implements 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 Details

    • LazyEntityFieldResolver

      public LazyEntityFieldResolver()
  • Method Details

    • isAppropriate

      public boolean isAppropriate(Field field)

      Determines if the resolver is appropriate for the given field. This implementation checks if the field is annotated with ManyToOne or OneToOne with lazy fetch type.

      Specified by:
      isAppropriate in interface TypeFieldResolver
      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 interface TypeFieldResolver
      Parameters:
      field - the field to receive the injected value
      resultSet - the result set containing the data from which the value will be extracted
      entity - the entity object to which the field belongs
      entityPersistent - the persistent metadata associated with the entity
      Returns:
      the lazy-loading proxy for the entity field