From dd28b28095c0de24aa6e880cb33c7d0db1bd4541 Mon Sep 17 00:00:00 2001
From: Robin Bygrave
Date: Fri, 13 May 2016 16:30:43 +1200
Subject: [PATCH] #704 - Update javadoc for @Cache and @Query.setUseCache()
---
src/main/java/com/avaje/ebean/Query.java | 12 +++++++++---
src/main/java/com/avaje/ebean/annotation/Cache.java | 5 +++++
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/avaje/ebean/Query.java b/src/main/java/com/avaje/ebean/Query.java
index c0fdf06a4..287df64e6 100644
--- a/src/main/java/com/avaje/ebean/Query.java
+++ b/src/main/java/com/avaje/ebean/Query.java
@@ -1304,10 +1304,16 @@ public interface Query {
Query setMapKey(String mapKey);
/**
- * Set this to true to use the bean cache.
+ * Set this to false to not use the bean cache.
*
- * If the query result is in cache then by default this same instance is
- * returned. In this sense it should be treated as a read only object graph.
+ * By default "find by id" and "find by natural key" will use the bean cache
+ * when bean caching is enabled. Setting this to false means that the query
+ * will not use the bean cache and instead hit the database.
+ *
+ *
+ * In the case of other queries (findList(), findEach() etc) then setting this to
+ * false beans that the if lazy loading is invoked that lazy loading will not try
+ * to use the bean cache.
*
*/
Query setUseCache(boolean useCache);
diff --git a/src/main/java/com/avaje/ebean/annotation/Cache.java b/src/main/java/com/avaje/ebean/annotation/Cache.java
index bce44cc6d..ea1a50f2a 100644
--- a/src/main/java/com/avaje/ebean/annotation/Cache.java
+++ b/src/main/java/com/avaje/ebean/annotation/Cache.java
@@ -28,6 +28,11 @@ public @interface Cache {
* set this to false on a bean type that we want to use query caching but no
* bean caching (and this is expected to be a rare case).
*
+ *
+ * When bean caching is enabled by default "find by id" and "find by unique natural key"
+ * queries will try to use the bean cache. We use {@link com.avaje.ebean.Query#setUseCache(boolean)}
+ * with false for the case when we do NOT want to use the bean cache.
+ *
*/
boolean enableBeanCache() default true;