java.lang.Object
org.eclipse.persistence.config.CacheUsage

public class CacheUsage extends 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:
  • Field Details

    • UseEntityDefault

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

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

      public static final 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:
    • CheckCacheByPrimaryKey

      public static final 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:
    • CheckCacheThenDatabase

      public static final 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:
    • CheckCacheOnly

      public static final 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:
    • ConformResultsInUnitOfWork

      public static final 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:
    • NoCache

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

      public static final String Invalidate
      Configures a modify-all query to invalidate the cache.
      See Also:
    • DEFAULT

      public static final String DEFAULT
      See Also:
  • Constructor Details

    • CacheUsage

      @Deprecated(since="4.0.3", forRemoval=true) public CacheUsage()
      Deprecated, for removal: This API element is subject to removal in a future version.
      This constructor will be marked private and the class final. It is not designed for extensibility.