@Override public CriteriaWhere<T> id(Object id) { EntityMapping em = q.getEntityMapping(); if(em.getKeyFieldNames().length == 1) { return name(em.getKeyFieldNames()[0]).eq(id); } if(em.getKeyFieldNames().length > 0) { Params params = c.getParameterStrategy().createIdParameters(c, em, id); for(int i=0;i<em.getKeyFieldNames().length;i++) { if(i > 0) { and(); } String name = em.getKeyFieldNames()[i]; name(em.getKeyFieldNames()[i]).eq(params.get(name)); } return this; } throw new IllegalStateException("No id column(s) in entity '" + em.getEntityName() + "'"); }