diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanBuffer.java b/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanBuffer.java index e19b2d3c0..0c976f05e 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanBuffer.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanBuffer.java @@ -23,4 +23,5 @@ public interface LoadBeanBuffer { void configureQuery(SpiQuery query, String lazyLoadProperty); + boolean isCache(); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanRequest.java b/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanRequest.java index f9595798d..5f1c67465 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanRequest.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/LoadBeanRequest.java @@ -77,7 +77,7 @@ public final class LoadBeanRequest extends LoadRequest { public void configureQuery(SpiQuery query, List idList) { query.setMode(Mode.LAZYLOAD_BEAN); query.setPersistenceContext(loadBuffer.persistenceContext()); - query.setLoadDescription(lazy ? "+lazy" : "+query", description()); + query.setLoadDescription(mode(), description()); if (lazy) { query.setLazyLoadBatchSize(loadBuffer.batchSize()); if (alreadyLoaded) { @@ -97,6 +97,10 @@ public final class LoadBeanRequest extends LoadRequest { } } + private String mode() { + return lazy ? "+lazy" : loadBuffer.isCache() ? "+cache" : "+query"; + } + /** * Load the beans into the L2 cache if that is requested and check for load failures due to deletes. */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBaseContext.java b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBaseContext.java index 1cd3ef214..0b767b71f 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBaseContext.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBaseContext.java @@ -52,7 +52,7 @@ abstract class DLoadBaseContext { void setLabel(SpiQuery query) { String label = parent.planLabel(); if (label != null) { - query.setProfilePath(label, fullPath, parent.profileLocation()); + query.setProfilePath(label, fullPath + "(" + query.getLoadMode() + ")", parent.profileLocation()); } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java index 4702855aa..454497350 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java @@ -189,6 +189,11 @@ final class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContext context.configureQuery(query, lazyLoadProperty); } + @Override + public boolean isCache() { + return context.cache; + } + @Override public void loadBean(EntityBeanIntercept ebi) { // A lock is effectively held by EntityBeanIntercept.loadBean()