All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.ebean.CacheMode Maven / Gradle / Ivy

There is a newer version: 15.8.0
Show newest version
package io.ebean;

/**
 * Enum to control the different cache modes for queryCache and beanCache.
 * 

Bean cache

*

* The bean cache is automatically used by default on @Cache beans for * the following queries: *

*
    *
  • findOne() by id
  • *
  • findOne() by natural key(s)
  • *
  • findList() by ids
  • *
*

* Bean caching needs to be explicitly turned on for queries that are findList() by natural keys. *

*

Query cache

*

* For query cache use note that you must be careful, what you do with the returned collection. * By default the returned collections are read only and you will get an exception if you try * to change them. * If you add ".setReadOnly(false)" to your query, you'll get a collection that is a clone from the * one in the cache. That means, changing does not affect the cache. *

* * @author Roland Praml, FOCONIS AG */ public enum CacheMode { /** * Do not use cache. */ OFF(false, false), /** * Use the cache and store a result when needed. */ ON(true, true), /** * Only used for bean caching. *

* The bean cache is automatically used by default on @Cache beans for * the following queries: *

*
    *
  • findOne() by id
  • *
  • findOne() by natural key(s)
  • *
  • findList() by ids
  • *
*

* Bean caching needs to be explicitly turned on for queries that are findList() by natural keys. *

*/ AUTO(true, true), /** * Do not read from cache, but put beans into the cache and invalidate parts of the cache as necessary. *

* Use this on a query if you want to get the fresh value from database and put it into the cache. */ PUT(false, true), /** * GET only from the cache. *

* This mode does not put entries into the cache or invalidate parts of the cache. */ GET(true, false); private final boolean get; private final boolean put; CacheMode(boolean get, boolean put) { this.get = get; this.put = put; } /** * Return true if value is read from cache. */ public boolean isGet() { return get; } /** * Return true if a newly loaded value (from database) is put into the cache. */ public boolean isPut() { return put; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy