Class FetchProfile


  • public class FetchProfile
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      FetchProfile​(java.lang.String name)
      Constructs a FetchProfile, supplying its unique name (unique within the SessionFactory).
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addFetch​(Association association, java.lang.String fetchStyleName)
      Add a fetch to the profile.
      void addFetch​(Association association, Fetch.Style style)
      Add a fetch to the profile.
      void addFetch​(Fetch fetch)
      Add a fetch to the profile.
      Fetch getFetchByRole​(java.lang.String role)
      Obtain the fetch associated with the given role.
      java.util.Map<java.lang.String,​Fetch> getFetches()
      Getter for property 'fetches'.
      java.lang.String getName()
      Getter for property 'name'.
      boolean isContainsJoinFetchedBag()
      Getter for property 'containsJoinFetchedBag', which flags whether this fetch profile contained any bag join fetches
      boolean isContainsJoinFetchedCollection()
      Getter for property 'containsJoinFetchedCollection', which flags whether this fetch profile contained any collection join fetches.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FetchProfile

        public FetchProfile​(java.lang.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,
                             java.lang.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 java.lang.String getName()
        Getter for property 'name'.
        Returns:
        Value for property 'name'.
      • getFetches

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

        public Fetch getFetchByRole​(java.lang.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'.