diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultBeanLoader.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultBeanLoader.java
index c19790909..a586e571c 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultBeanLoader.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultBeanLoader.java
@@ -87,7 +87,7 @@ final class DefaultBeanLoader {
query.setLoadDescription("+lazy", null);
}
- query.select(parentDesc.idBinder().getIdProperty());
+ query.select(parentDesc.idBinder().idSelect());
if (onlyIds) {
query.fetch(many.name(), many.targetIdProperty());
} else {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/PersistDeferredRelationship.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/PersistDeferredRelationship.java
index 30cb469af..c4677a997 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/core/PersistDeferredRelationship.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/PersistDeferredRelationship.java
@@ -44,7 +44,7 @@ public final class PersistDeferredRelationship {
return; // could not bind: TODO: should we log/throw an error?
}
// bind the where clause for the bean
- Object[] idValues = beanDescriptor.idBinder().getIdValues(bean);
+ Object[] idValues = beanDescriptor.idBinder().values(bean);
for (int j = 0; j < idValues.length; j++) {
sqlUpdate.setParameter(pos + j, idValues[j]);
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java
index 959048623..f1a47a02f 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java
@@ -530,10 +530,10 @@ public class BeanDescriptor implements BeanType, STreeType, SpiBeanType {
unidirectional.initialise(initContext);
}
idBinder.initialise();
- idBinderInLHSSql = idBinder.getBindIdInSql(baseTableAlias);
- idBinderIdSql = idBinder.getBindIdSql(baseTableAlias);
- String idBinderInLHSSqlNoAlias = idBinder.getBindIdInSql(null);
- String idEqualsSql = idBinder.getBindIdSql(null);
+ idBinderInLHSSql = idBinder.bindInSql(baseTableAlias);
+ idBinderIdSql = idBinder.bindEqSql(baseTableAlias);
+ String idBinderInLHSSqlNoAlias = idBinder.bindInSql(null);
+ String idEqualsSql = idBinder.bindEqSql(null);
deleteByIdSql = "delete from " + baseTable + " where " + idEqualsSql;
whereIdInSql = " where " + idBinderInLHSSqlNoAlias + " ";
deleteByIdInSql = "delete from " + baseTable + whereIdInSql;
@@ -855,10 +855,10 @@ public class BeanDescriptor implements BeanType, STreeType, SpiBeanType {
private SqlUpdate deleteByIdList(List
*/
- Object[] getBindValues(Object idValue);
-
+ Object[] bindValues(Object idValue);
/**
* For EmbeddedId convert the idValue into a simple map.
@@ -96,7 +91,7 @@ public interface IdBinder {
* This is used to provide a simple JSON serializable version of the id value.
*
*/
- Object getIdForJson(EntityBean idValue);
+ Object convertForJson(EntityBean idValue);
/**
* For EmbeddedId the value is assumed to be a Map and this is
@@ -108,12 +103,7 @@ public interface IdBinder {
* This is used to provide a simple JSON serializable version of the id value.
*
*/
- Object convertIdFromJson(Object value);
-
- /**
- * Return the id values for a given bean.
- */
- Object[] getIdValues(EntityBean bean);
+ Object convertFromJson(Object value);
/**
* Build a string of the logical expressions.
@@ -121,12 +111,12 @@ public interface IdBinder {
* Typically used to build a id = ? string.
*
*/
- String getAssocOneIdExpr(String prefix, String operator);
+ String assocExpr(String prefix, String operator);
/**
* Return the logical id in expression taking into account embedded id's.
*/
- String getAssocIdInExpr(String prefix);
+ String assocInExpr(String prefix);
/**
* Binds an id value to a prepared statement.
@@ -141,27 +131,27 @@ public interface IdBinder {
/**
* Binds multiple id value to an update.
*/
- void addIdInBindValues(DefaultSqlUpdate sqlUpdate, Collection> ids);
+ void addBindValues(DefaultSqlUpdate sqlUpdate, Collection> ids);
/**
* Binds multiple id value to a request.
*/
- void addIdInBindValues(SpiExpressionRequest request, Collection> ids);
+ void addBindValues(SpiExpressionRequest request, Collection> ids);
/**
* Return the sql for binding the id using an IN clause.
*/
- String getBindIdInSql(String baseTableAlias);
+ String bindInSql(String baseTableAlias);
/**
* Return the binding expression (like "?" or "(?,?)")for the Id.
*/
- String getIdInValueExpr(boolean not, int size);
+ String idInValueExpr(boolean not, int size);
/**
* Same as getIdInValueExpr but for delete by id.
*/
- String getIdInValueExprDelete(int size);
+ String idInValueExprDelete(int size);
void buildRawSqlSelectChain(String prefix, List selectChain);
@@ -190,7 +180,7 @@ public interface IdBinder {
* Return the sql for binding the id to. This includes table alias and columns
* that make up the id.
*/
- String getBindIdSql(String baseTableAlias);
+ String bindEqSql(String baseTableAlias);
/**
* Cast or convert the Id value if necessary and optionally set it.
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderEmbedded.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderEmbedded.java
index bbbe2d1c6..f115bbea2 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderEmbedded.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderEmbedded.java
@@ -81,19 +81,14 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public BeanProperty getBeanProperty() {
+ public BeanProperty beanProperty() {
return embIdProperty;
}
- public BeanDescriptor> getIdBeanDescriptor() {
+ public BeanDescriptor> descriptor() {
return idDesc;
}
- @Override
- public String getIdProperty() {
- return embIdProperty.name();
- }
-
@Override
public void buildRawSqlSelectChain(String prefix, List selectChain) {
if (!idClass) {
@@ -120,12 +115,12 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public String getDefaultOrderBy() {
- return getOrderBy(null, true);
+ public String orderBy() {
+ return orderBy(null, true);
}
@Override
- public String getOrderBy(String pathPrefix, boolean ascending) {
+ public String orderBy(String pathPrefix, boolean ascending) {
final StringBuilder sb = new StringBuilder(100);
for (int i = 0; i < props.length; i++) {
if (i > 0) {
@@ -145,17 +140,17 @@ public final class IdBinderEmbedded implements IdBinder {
return sb.toString();
}
- public BeanProperty[] getProperties() {
+ public BeanProperty[] properties() {
return props;
}
@Override
- public String getIdInValueExprDelete(int size) {
+ public String idInValueExprDelete(int size) {
if (size <= 0) {
throw new IndexOutOfBoundsException("The size must be at least 1");
}
if (!idInExpandedForm) {
- return getIdInValueExpr(false, size);
+ return idInValueExpr(false, size);
}
final StringBuilder sb = new StringBuilder(80);
sb.append("(");
@@ -177,7 +172,7 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public String getIdInValueExpr(boolean not, int size) {
+ public String idInValueExpr(boolean not, int size) {
if (size <= 0) {
throw new IndexOutOfBoundsException("The size must be at least 1");
}
@@ -204,12 +199,12 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public Object[] getIdValues(EntityBean bean) {
- return getBindValues(embIdProperty.getValue(bean));
+ public Object[] values(EntityBean bean) {
+ return bindValues(embIdProperty.getValue(bean));
}
@Override
- public Object[] getBindValues(Object value) {
+ public Object[] bindValues(Object value) {
final EntityBean bean = (EntityBean) value;
final Object[] bindValues = new Object[props.length];
for (int i = 0; i < props.length; i++) {
@@ -222,7 +217,7 @@ public final class IdBinderEmbedded implements IdBinder {
* Convert from embedded bean to Map.
*/
@Override
- public Object getIdForJson(EntityBean bean) {
+ public Object convertForJson(EntityBean bean) {
final EntityBean ebValue = (EntityBean) embIdProperty.getValue(bean);
final Map map = new LinkedHashMap<>();
for (BeanProperty prop : props) {
@@ -236,7 +231,7 @@ public final class IdBinderEmbedded implements IdBinder {
*/
@Override
@SuppressWarnings("unchecked")
- public Object convertIdFromJson(Object value) {
+ public Object convertFromJson(Object value) {
final Map map = (Map) value;
final EntityBean idValue = idDesc.createEntityBean();
for (BeanProperty prop : props) {
@@ -262,14 +257,14 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public void addIdInBindValues(DefaultSqlUpdate sqlUpdate, Collection> values) {
+ public void addBindValues(DefaultSqlUpdate sqlUpdate, Collection> values) {
for (Object value : values) {
bindId(sqlUpdate, value);
}
}
@Override
- public void addIdInBindValues(SpiExpressionRequest request, Collection> values) {
+ public void addBindValues(SpiExpressionRequest request, Collection> values) {
for (Object value : values) {
final EntityBean bean = (EntityBean) value;
for (BeanProperty prop : props) {
@@ -340,7 +335,7 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public String getAssocIdInExpr(String prefix) {
+ public String assocInExpr(String prefix) {
final StringBuilder sb = new StringBuilder(80);
sb.append("(");
for (int i = 0; i < props.length; i++) {
@@ -357,7 +352,7 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public String getAssocOneIdExpr(String prefix, String operator) {
+ public String assocExpr(String prefix, String operator) {
final StringBuilder sb = new StringBuilder(100);
for (int i = 0; i < props.length; i++) {
if (i > 0) {
@@ -375,7 +370,7 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public String getBindIdSql(String baseTableAlias) {
+ public String bindEqSql(String baseTableAlias) {
final StringBuilder sb = new StringBuilder(80);
for (int i = 0; i < props.length; i++) {
if (i > 0) {
@@ -390,7 +385,7 @@ public final class IdBinderEmbedded implements IdBinder {
}
@Override
- public String getBindIdInSql(String baseTableAlias) {
+ public String bindInSql(String baseTableAlias) {
if (idInExpandedForm) {
return "";
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderEmpty.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderEmpty.java
index 251086384..d79ab892f 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderEmpty.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderEmpty.java
@@ -38,7 +38,7 @@ final class IdBinderEmpty implements IdBinder {
}
@Override
- public String getOrderBy(String pathPrefix, boolean ascending) {
+ public String orderBy(String pathPrefix, boolean ascending) {
return pathPrefix;
}
@@ -47,12 +47,7 @@ final class IdBinderEmpty implements IdBinder {
}
@Override
- public BeanProperty getBeanProperty() {
- return null;
- }
-
- @Override
- public String getIdProperty() {
+ public BeanProperty beanProperty() {
return null;
}
@@ -67,58 +62,58 @@ final class IdBinderEmpty implements IdBinder {
}
@Override
- public String getDefaultOrderBy() {
+ public String orderBy() {
// this should never happen?
return "";
}
@Override
- public String getBindIdSql(String baseTableAlias) {
+ public String bindEqSql(String baseTableAlias) {
return bindIdSql;
}
@Override
- public String getAssocOneIdExpr(String prefix, String operator) {
+ public String assocExpr(String prefix, String operator) {
return null;
}
@Override
- public String getAssocIdInExpr(String prefix) {
+ public String assocInExpr(String prefix) {
return null;
}
@Override
- public String getIdInValueExprDelete(int size) {
- return getIdInValueExpr(false, size);
+ public String idInValueExprDelete(int size) {
+ return idInValueExpr(false, size);
}
@Override
- public String getIdInValueExpr(boolean not, int size) {
+ public String idInValueExpr(boolean not, int size) {
return "";
}
@Override
- public String getBindIdInSql(String baseTableAlias) {
+ public String bindInSql(String baseTableAlias) {
return null;
}
@Override
- public Object[] getIdValues(EntityBean bean) {
+ public Object[] values(EntityBean bean) {
return null;
}
@Override
- public Object[] getBindValues(Object idValue) {
+ public Object[] bindValues(Object idValue) {
return new Object[]{idValue};
}
@Override
- public Object getIdForJson(EntityBean bean) {
+ public Object convertForJson(EntityBean bean) {
return null;
}
@Override
- public Object convertIdFromJson(Object value) {
+ public Object convertFromJson(Object value) {
return value;
}
@@ -131,11 +126,11 @@ final class IdBinderEmpty implements IdBinder {
}
@Override
- public void addIdInBindValues(DefaultSqlUpdate sqlUpdate, Collection> ids) {
+ public void addBindValues(DefaultSqlUpdate sqlUpdate, Collection> ids) {
}
@Override
- public void addIdInBindValues(SpiExpressionRequest request, Collection> ids) {
+ public void addBindValues(SpiExpressionRequest request, Collection> ids) {
}
@Override
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderSimple.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderSimple.java
index 511a76c79..810352fbf 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderSimple.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/IdBinderSimple.java
@@ -56,7 +56,7 @@ public final class IdBinderSimple implements IdBinder {
}
@Override
- public String getOrderBy(String pathPrefix, boolean ascending) {
+ public String orderBy(String pathPrefix, boolean ascending) {
StringBuilder sb = new StringBuilder();
if (pathPrefix != null) {
sb.append(pathPrefix).append(".");
@@ -74,15 +74,10 @@ public final class IdBinderSimple implements IdBinder {
}
@Override
- public BeanProperty getBeanProperty() {
+ public BeanProperty beanProperty() {
return idProperty;
}
- @Override
- public String getIdProperty() {
- return idProperty.name();
- }
-
@Override
public BeanProperty findBeanProperty(String dbColumnName) {
if (dbColumnName.equalsIgnoreCase(idProperty.dbColumn())) {
@@ -97,12 +92,12 @@ public final class IdBinderSimple implements IdBinder {
}
@Override
- public String getDefaultOrderBy() {
+ public String orderBy() {
return idProperty.name();
}
@Override
- public String getBindIdInSql(String baseTableAlias) {
+ public String bindInSql(String baseTableAlias) {
if (baseTableAlias == null) {
return idProperty.dbColumn();
} else {
@@ -111,7 +106,7 @@ public final class IdBinderSimple implements IdBinder {
}
@Override
- public String getBindIdSql(String baseTableAlias) {
+ public String bindEqSql(String baseTableAlias) {
if (baseTableAlias == null) {
return bindIdSql;
} else {
@@ -120,22 +115,22 @@ public final class IdBinderSimple implements IdBinder {
}
@Override
- public Object[] getIdValues(EntityBean bean) {
+ public Object[] values(EntityBean bean) {
return new Object[]{idProperty.getValue(bean)};
}
@Override
- public Object[] getBindValues(Object idValue) {
+ public Object[] bindValues(Object idValue) {
return new Object[]{idValue};
}
@Override
- public String getIdInValueExprDelete(int size) {
- return getIdInValueExpr(false, size);
+ public String idInValueExprDelete(int size) {
+ return idInValueExpr(false, size);
}
@Override
- public String getIdInValueExpr(boolean not, int size) {
+ public String idInValueExpr(boolean not, int size) {
if (size <= 0) {
throw new IndexOutOfBoundsException("The size must be at least 1");
}
@@ -143,24 +138,24 @@ public final class IdBinderSimple implements IdBinder {
}
@Override
- public void addIdInBindValues(DefaultSqlUpdate sqlUpdate, Collection> ids) {
+ public void addBindValues(DefaultSqlUpdate sqlUpdate, Collection> ids) {
sqlUpdate.setParameter(new MultiValueWrapper(ids));
}
@Override
- public void addIdInBindValues(SpiExpressionRequest request, Collection> values) {
+ public void addBindValues(SpiExpressionRequest request, Collection> values) {
List copy = new ArrayList<>(values);
copy.replaceAll(idValue -> convertSetId(idValue, null));
request.addBindValue(new MultiValueWrapper(copy));
}
@Override
- public Object getIdForJson(EntityBean bean) {
+ public Object convertForJson(EntityBean bean) {
return idProperty.getValue(bean);
}
@Override
- public Object convertIdFromJson(Object value) {
+ public Object convertFromJson(Object value) {
// handle simple type conversion if required
return convertId(value);
}
@@ -213,11 +208,11 @@ public final class IdBinderSimple implements IdBinder {
}
@Override
- public String getAssocOneIdExpr(String prefix, String operator) {
- StringBuilder sb = new StringBuilder();
+ public String assocExpr(String prefix, String operator) {
+ StringBuilder sb = new StringBuilder(25);
if (prefix != null) {
sb.append(prefix);
- sb.append(".");
+ sb.append('.');
}
sb.append(idProperty.name());
sb.append(operator);
@@ -225,7 +220,7 @@ public final class IdBinderSimple implements IdBinder {
}
@Override
- public String getAssocIdInExpr(String prefix) {
+ public String assocInExpr(String prefix) {
StringBuilder sb = new StringBuilder();
if (prefix != null) {
sb.append(prefix);
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/expression/IdInExpression.java b/ebean-core/src/main/java/io/ebeaninternal/server/expression/IdInExpression.java
index 82553d001..3ad63ae14 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/expression/IdInExpression.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/expression/IdInExpression.java
@@ -66,7 +66,7 @@ public final class IdInExpression extends NonPrepareExpression implements IdInCo
return;
}
// Bind the ID values including EmbeddedId and multiple ID
- request.descriptor().idBinder().addIdInBindValues(request, idCollection);
+ request.descriptor().idBinder().addBindValues(request, idCollection);
}
/**
@@ -77,8 +77,8 @@ public final class IdInExpression extends NonPrepareExpression implements IdInCo
request.append(SQL_FALSE); // append false for this stage
} else {
final BeanDescriptor> descriptor = request.descriptor();
- request.property(descriptor.idBinder().getBindIdInSql(null));
- request.append(descriptor.idBinder().getIdInValueExpr(false, idCollection.size()));
+ request.property(descriptor.idBinder().bindInSql(null));
+ request.append(descriptor.idBinder().idInValueExpr(false, idCollection.size()));
}
}
@@ -91,9 +91,9 @@ public final class IdInExpression extends NonPrepareExpression implements IdInCo
final IdBinder idBinder = descriptor.idBinder();
if (idBinder.isComplexId()) {
request.parse(descriptor.idBinderInLHSSql());
- request.append(idBinder.getIdInValueExpr(false, idCollection.size()));
+ request.append(idBinder.idInValueExpr(false, idCollection.size()));
} else {
- request.property(idBinder.getBeanProperty().name());
+ request.property(idBinder.beanProperty().name());
request.appendInExpression(false, idCollection);
}
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryOrderBy.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryOrderBy.java
index cefdb59cf..5c832f443 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryOrderBy.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryOrderBy.java
@@ -59,7 +59,7 @@ final class CQueryOrderBy {
if (beanProperty instanceof BeanPropertyAssoc>) {
BeanPropertyAssoc> ap = (BeanPropertyAssoc>) beanProperty;
IdBinder idBinder = ap.targetDescriptor().idBinder();
- return idBinder.getOrderBy(el.elName(), p.isAscending());
+ return idBinder.orderBy(el.elName(), p.isAscending());
}
return p.toStringFormat();
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeLoadBean.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeLoadBean.java
index 5611ab82a..3575d8bbb 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeLoadBean.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeLoadBean.java
@@ -81,7 +81,7 @@ class SqlTreeLoadBean implements SqlTreeLoad {
// if we have no property ask first children (in a distinct select with join)
if (children.length == 0) {
// expected to be a findIds query
- return desc.idBinder().getBeanProperty();
+ return desc.idBinder().beanProperty();
}
return children[0].singleAttributeReader();
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java
index 56c0e675c..f37715131 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java
@@ -159,7 +159,7 @@ class SqlTreeNodeBean implements SqlTreeNode {
lazyLoadParent.addSelectExported(ctx, prefix);
}
if (readId) {
- appendSelectId(ctx, idBinder.getBeanProperty());
+ appendSelectId(ctx, idBinder.beanProperty());
}
for (STreeProperty property : properties) {
if (!property.isAggregation()) {
@@ -201,7 +201,7 @@ class SqlTreeNodeBean implements SqlTreeNode {
if (!subQuery && inheritInfo != null) {
ctx.appendColumn(inheritInfo.getDiscriminatorColumn());
}
- appendSelectId(ctx, idBinder.getBeanProperty());
+ appendSelectId(ctx, idBinder.beanProperty());
}
appendSelect(ctx, subQuery, properties);
for (SqlTreeNode child : children) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeManyRoot.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeManyRoot.java
index 49ea40dbb..ebfa9dd3f 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeManyRoot.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeManyRoot.java
@@ -30,7 +30,7 @@ final class SqlTreeNodeManyRoot extends SqlTreeNodeBean {
@Override
public void appendDistinctOn(DbSqlContext ctx, boolean subQuery) {
ctx.pushTableAlias(prefix);
- appendSelectId(ctx, idBinder.getBeanProperty());
+ appendSelectId(ctx, idBinder.beanProperty());
ctx.popTableAlias();
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeRoot.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeRoot.java
index a3e6dde28..5c8cd3799 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeRoot.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeRoot.java
@@ -45,7 +45,7 @@ final class SqlTreeNodeRoot extends SqlTreeNodeBean {
public void appendDistinctOn(DbSqlContext ctx, boolean subQuery) {
if (readId) {
ctx.pushTableAlias(prefix);
- appendSelectId(ctx, idBinder.getBeanProperty());
+ appendSelectId(ctx, idBinder.beanProperty());
ctx.popTableAlias();
super.appendDistinctOn(ctx, subQuery);
}