select语句中的意外标记

时间:2014-05-06 00:47:56

标签: java sql hibernate jpa

在使用hibernate和jpa的spring mvc app中,运行以下查询时出现意外的令牌错误:

@SuppressWarnings("unchecked")
public Collection<Description> findDescriptionsByConceptId(BigInteger id) {
    Query query = this.em.createQuery("SELECT desc FROM Description desc WHERE desc.concept.conceptPk.id =:cid");
    query.setParameter("cid", id);
    return query.getResultList();
}

以下是错误消息:

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException:  
unexpected token: desc near line 1, column 8  
[SELECT desc FROM myapp.Description desc WHERE desc.concept.conceptPk.id =:cid]

如何解决此错误消息?我会发布更多代码,但我不知道是什么导致了这个错误。

2 个答案:

答案 0 :(得分:2)

&#34;降序&#34;通常是一个保留字,用于&#34;顺序由&#34;表示降序值。您可以重命名列或用引号括起来吗?

答案 1 :(得分:1)

这对我有用:

@SuppressWarnings("unchecked")
public Collection<Description> findDescriptionsByConceptId(BigInteger id) {
    Query query = this.em.createQuery("SELECT tblDesc FROM Description tblDesc WHERE tblDesc.concept.conceptPk.id =:cid");
    query.setParameter("cid", id);
    return query.getResultList();
}