Class FetchProfile


  • public class FetchProfile
    extends Object
    A 'fetch profile' allows a user to dynamically modify the fetching strategy used for particular associations at runtime, whereas that information was historically only statically defined in the metadata.

    This class defines the runtime representation of this data.

    • Constructor Detail

      • FetchProfile

        public FetchProfile​(String name)
        Constructs a FetchProfile, supplying its unique name (unique within the SessionFactory).
        Parameters:
        name - The name under which we are bound in the sessionFactory
    • Method Detail

      • addFetch

        public void addFetch​(Association association,
                             String fetchStyleName)
        Add a fetch to the profile.
        Parameters:
        association - The association to be fetched
        fetchStyleName - The name of the fetch style to apply
      • addFetch

        public void addFetch​(Association association,
                             Fetch.Style style)
        Add a fetch to the profile.
        Parameters:
        association - The association to be fetched
        style - The style to apply
      • addFetch

        public void addFetch​(Fetch fetch)
        Add a fetch to the profile.
        Parameters:
        fetch - The fetch to add.
      • getName

        public String getName()
        Getter for property 'name'.
        Returns:
        Value for property 'name'.
      • getFetches

        public Map<String,​Fetch> getFetches()
        Getter for property 'fetches'. Map of Fetch instances, keyed by association role
        Returns:
        Value for property 'fetches'.
      • getFetchByRole

        public Fetch getFetchByRole​(String role)
        Obtain the fetch associated with the given role.
        Parameters:
        role - The role identifying the fetch
        Returns:
        The fetch, or null if a matching one was not found
      • isContainsJoinFetchedCollection

        public boolean isContainsJoinFetchedCollection()
        Getter for property 'containsJoinFetchedCollection', which flags whether this fetch profile contained any collection join fetches.
        Returns:
        Value for property 'containsJoinFetchedCollection'.
      • isContainsJoinFetchedBag

        public boolean isContainsJoinFetchedBag()
        Getter for property 'containsJoinFetchedBag', which flags whether this fetch profile contained any bag join fetches
        Returns:
        Value for property 'containsJoinFetchedBag'.