From f45d240682ac6e750a57dc3309f9b740cc4e09b4 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Mon, 20 Jul 2015 12:24:56 +1200 Subject: [PATCH] #345 - Expose Query.getId() and Query.getBeanType() methods ... (previously on SpiQuery) --- src/main/java/com/avaje/ebean/Query.java | 11 +++++++++++ .../java/com/avaje/ebeaninternal/api/SpiQuery.java | 10 ---------- .../ebeaninternal/server/core/DefaultServer.java | 9 ++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/avaje/ebean/Query.java b/src/main/java/com/avaje/ebean/Query.java index c690f9dbc..4fc61bffa 100644 --- a/src/main/java/com/avaje/ebean/Query.java +++ b/src/main/java/com/avaje/ebean/Query.java @@ -866,6 +866,11 @@ public interface Query extends Serializable { */ Query setId(Object id); + /** + * Return the Id value. + */ + Object getId(); + /** * Add additional clause(s) to the where clause. *

@@ -1223,4 +1228,10 @@ public interface Query extends Serializable { * Set root table alias. */ Query alias(String alias); + + /** + * Return the type of beans being queried. + */ + Class getBeanType(); + } diff --git a/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java b/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java index c1d7ac784..dfcfa53a3 100644 --- a/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java +++ b/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java @@ -481,11 +481,6 @@ public interface SpiQuery extends Query { */ void contextAdd(EntityBean bean); - /** - * Return the type of beans queries. - */ - Class getBeanType(); - /** * Return the query timeout. */ @@ -580,11 +575,6 @@ public interface SpiQuery extends Query { */ String getRawWhereClause(); - /** - * Return the Id value. - */ - Object getId(); - /** * Set the generated sql for debug purposes. */ diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java index 1ae352161..f79c6fe79 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java @@ -1163,16 +1163,15 @@ public final class DefaultServer implements SpiEbeanServer { public T findUnique(Query query, Transaction t) { // actually a find by Id type of query... - // ... perhaps with joins and cache hints? - SpiQuery q = (SpiQuery) query; - Object id = q.getId(); + // ... perhaps with joins and cache hints + Object id = query.getId(); if (id != null) { return findId(query, t); } - BeanDescriptor desc = beanDescriptorManager.getBeanDescriptor(q.getBeanType()); + BeanDescriptor desc = beanDescriptorManager.getBeanDescriptor(query.getBeanType()); - T bean = desc.cacheNaturalKeyLookup(q, (SpiTransaction) t); + T bean = desc.cacheNaturalKeyLookup((SpiQuery)query, (SpiTransaction) t); if (bean != null) { return bean; }