我怎样才能解决这个问题;“不是选定的表达式”;使用Hibernate时出错?

我怎样才能解决这个问题;“不是选定的表达式”;使用Hibernate时出错?,hibernate,orm,hql,Hibernate,Orm,Hql,我使用以下方法执行Hibernate查询: @Override public List<ErrorsDTOEntity> getErrors(double daysPrevious, double hoursToShow) { try { Query query = getSession().createQuery("SELECT DISTINCT NEW com.mydomain.esb.jpa.dto.ErrorsDTOEn

我使用以下方法执行Hibernate查询:

    @Override
    public List<ErrorsDTOEntity> getErrors(double daysPrevious, double hoursToShow) {
        try {
            Query query = getSession().createQuery("SELECT DISTINCT NEW com.mydomain.esb.jpa.dto.ErrorsDTOEntity(ee, ec.message) "
                    + "FROM ErrorsEntity ee, EventCodeEntity ec "
                    + "WHERE ee.responseTime > (sysdate - (" + daysPrevious + " + " + hoursToShow + "/24)) "
                    + "AND ee.responseTime < (sysdate - " + daysPrevious + ") "
                    + "AND ee.serviceResponseCode = ec.code "
                    + "GROUP BY ee.domainName, ee.serviceName, ec.message, ee.serviceErrorCount, ee.errorTimestamp, "
                    + "ee.deviceName, ee.servErrId, ee.serviceResponseCode, ee.elapsedTime, ee.forwardTime, "
                    + "ee.responseCompletionTime, ee.responseSizeAverage, ee.requestSizeAverage, ee.responseTime "
                    + "ORDER BY ee.domainName, ec.message");

            @SuppressWarnings("unchecked")
            List<ErrorsDTOEntity> services = (List<ErrorsDTOEntity>) query.list();
            return services;

        } catch (HibernateException hex) {
            hex.printStackTrace();
        }       
        return null;
    }
}

这是由于
ORDER BY
子句中的
ee.domainName
造成的,但我不明白为什么以及我能做些什么。

事实上,我认为这是由于在查询中使用了
DISTINCT

ORA-01791: not a SELECTed expression