Class CacheUsage


  • public class CacheUsage
    extends java.lang.Object
    Cache usage hint values. Cache usage allows the cache to be used on queries to avoid accessing the database. By default for JPA queries the cache is not checked before accessing the database, but is used after accessing the database to avoid re-building the objects and avoid accessing the database for relationships. Cache usage can also be used for modify Update-All and Delete-All queries. For modify-all queries it effects how the cache is updated, either NoCache or Invalidate. By default modify-all queries invalidate the cache. The class contains all the valid values for QueryHints.CACHE_USAGE query hint.

    JPA Query Hint Usage:

    query.setHint(QueryHints.CACHE_USAGE, CacheUsage.CheckCacheOnly);

    or

    @QueryHint(name=QueryHints.CACHE_USAGE, value=CacheUsage.CheckCacheOnly)

    Hint values are case-insensitive. "" could be used instead of default value CacheUsage.DEFAULT.

    See Also:
    QueryHints
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CheckCacheByExactPrimaryKey
      Configure the cache to be checked first if the query is by primary key (only).
      static java.lang.String CheckCacheByPrimaryKey
      Configure the cache to be checked first if the query contains the primary key.
      static java.lang.String CheckCacheOnly
      Configure the cache to be searched for any matching objects.
      static java.lang.String CheckCacheThenDatabase
      Configure the cache to be searched for any matching object before accesing the database.
      static java.lang.String ConformResultsInUnitOfWork
      Configure the query results to be conformed with the current persistence context.
      static java.lang.String DEFAULT  
      static java.lang.String DoNotCheckCache
      Do not check the cache first, this is the default for JPA Queries.
      static java.lang.String Invalidate
      Configures a modify-all query to invalidate the cache.
      static java.lang.String NoCache
      Configures a modify-all query to not invalidate the cache.
      static java.lang.String UseEntityDefault
      By default the descriptor default is used, which is to not check the cache first.
    • Constructor Summary

      Constructors 
      Constructor Description
      CacheUsage()  
    • Method Summary

      • Methods inherited from class java.lang.Object

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

      • UseEntityDefault

        public static final java.lang.String UseEntityDefault
        By default the descriptor default is used, which is to not check the cache first.
        See Also:
        Constant Field Values
      • DoNotCheckCache

        public static final java.lang.String DoNotCheckCache
        Do not check the cache first, this is the default for JPA Queries.
        See Also:
        Constant Field Values
      • CheckCacheByExactPrimaryKey

        public static final java.lang.String CheckCacheByExactPrimaryKey
        Configure the cache to be checked first if the query is by primary key (only). This can only be used on queries that return a single entity.
        See Also:
        Constant Field Values
      • CheckCacheByPrimaryKey

        public static final java.lang.String CheckCacheByPrimaryKey
        Configure the cache to be checked first if the query contains the primary key. This can only be used on queries that return a single entity.
        See Also:
        Constant Field Values
      • CheckCacheThenDatabase

        public static final java.lang.String CheckCacheThenDatabase
        Configure the cache to be searched for any matching object before accesing the database. This can only be used on queries that return a single entity.
        See Also:
        Constant Field Values
      • CheckCacheOnly

        public static final java.lang.String CheckCacheOnly
        Configure the cache to be searched for any matching objects. Any objects not currently in the cache will not be returned. This can only be used on queries that return a single set of entities.
        See Also:
        Constant Field Values
      • ConformResultsInUnitOfWork

        public static final java.lang.String ConformResultsInUnitOfWork
        Configure the query results to be conformed with the current persistence context. This allows non-flushed changes to be included in the query. This can only be used on queries that return a single set of entities.
        See Also:
        Constant Field Values
      • NoCache

        public static final java.lang.String NoCache
        Configures a modify-all query to not invalidate the cache.
        See Also:
        Constant Field Values
      • Invalidate

        public static final java.lang.String Invalidate
        Configures a modify-all query to invalidate the cache.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CacheUsage

        public CacheUsage()