diff --git a/hibernate-core/src/main/antlr/hql-sql.g b/hibernate-core/src/main/antlr/hql-sql.g index 7d9dd6f92d..a967283c60 100644 --- a/hibernate-core/src/main/antlr/hql-sql.g +++ b/hibernate-core/src/main/antlr/hql-sql.g @@ -428,7 +428,7 @@ selectExpr | functionCall | count | collectionFunction // elements() or indices() - | literal + | constant | arithmeticExpr | logicalExpr | parameter diff --git a/hibernate-core/src/main/java/org/hibernate/query/criteria/internal/CriteriaQueryImpl.java b/hibernate-core/src/main/java/org/hibernate/query/criteria/internal/CriteriaQueryImpl.java index f47fc2032a..c975049191 100755 --- a/hibernate-core/src/main/java/org/hibernate/query/criteria/internal/CriteriaQueryImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/query/criteria/internal/CriteriaQueryImpl.java @@ -110,10 +110,7 @@ public class CriteriaQueryImpl extends AbstractNode implements CriteriaQuery< selection = ( Selection ) criteriaBuilder().tuple( selections ); } else if ( getResultType().isArray() ) { - selection = ( Selection ) criteriaBuilder().array( - ( Class ) getResultType(), - selections - ); + selection = criteriaBuilder().array( getResultType(), selections ); } else if ( Object.class.equals( getResultType() ) ) { switch ( selections.size() ) {