当使用DataNucleus(我使用的公司使用的软件)时,是否有人知道为什么DISTINCT关键字会从查询中删除?我能够调试代码并验证关键字实际上是在查询中。但是在JPAEntityManager中调用此函数时
createQuery(CriteriaQuery<T> criteriaQuery)
删除了DISTINCT关键字。调试显示它与
有关criteria.getCompilation(ec.getMetaDataManager(), ec.getClassLoaderResolver());
函数调用。不知何故,createQuery()函数可以使用SELECT COUNT(DISTINCT DN_THIS),但不适用于SELECT DISTINCT FROM。
我希望你们中的一些人至少知道问题所在,因为我对JPA和SQL查询相当新,我自己找不到快速的解决方案。
我正在尝试执行的查询如下:
SELECT DISTINCT DN_THIS FROM Hop DN_THIS JOIN DN_THIS.tags t WHERE ((DN_THIS.entityStatus <> 'DELETED') AND ((t.name = :DN_PARAM_4) OR (t.name = :DN_PARAM_5))) ORDER BY DN_THIS.name ASC
谢谢!