public String toSqlString(Criteria criteria,
CriteriaQuery criteriaQuery) throws HibernateException {
String[] columns = criteriaQuery.getColumnsUsingProjection(criteria, propertyName);
String singleValueParam = StringHelper.repeat( "?, ", columns.length-1 ) + "?";
if ( columns.length >1 ) singleValueParam = '(" + singleValueParam + ')";
String params = values.length >0 ?
StringHelper.repeat( singleValueParam + ", ", values.length-1 ) + singleValueParam :
"";
String cols = StringHelper.join(", ", columns);
if ( columns.length >1 ) cols = '(" + cols + ')";
return cols + " in (" + params + ')";
}
|