由于单引号,条件查询失败了groupby?

时间:2013-05-31 12:18:30

标签: java group-by jpa-2.0 criteria

我遇到了一个有趣的行为:可能标准API在查询中围绕参数放置单引号。

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<SomeClass> criteriaQuery = criteriaBuilder.createQuery(SomeClass.class);
Metamodel metamodel = em.getMetamodel();
EntityType<SomeClass> entityType_ = metamodel.entity(SomeClass.class);
Root<SomeClass> root = criteriaQuery.from( SomeClass );
criteriaQuery.select(root.get(entityType_.getSingularAttribute( "someField" ));  
TypedQuery<SomeClass> q = em.createQuery(criteriaQuery);
List<SomeClass> result = (List<SomeClass>) q.getResultList();

此代码段会生成一个列,其中列中的每个单元格中都有一列充满“someField”。 (从SomeClass中选择'someField';&lt; - 真的有用)

select通过条件接受此行为,但是group by failed表示:ORA-00979:不是GROUP BY表达式。 我只考虑标准做同样的替换,比如选择。

criteriaQuery.groupBy(root.get(entityType_.getSingularAttribute("someField") ));

如何在查询中避免使用这些单个qoutes?

任何建议表示赞赏,谢谢你。

0 个答案:

没有答案
相关问题