【发布时间】:2011-07-29 22:00:49
【问题描述】:
我将一个工作的 (postgre)sql 查询翻译成 jpql,但是 hibernate 抛出了一个
org.hibernate.hql.ast.QuerySyntaxException: 意外的 AST 节点 异常
这些是我的核心模型类:
@Entity
public class Piece {
@Id
@GeneratedValue
public Long id;
@ManyToOne
public AUser user;
public long index;
...
}
@Entity
public class Vote {
@Id
@GeneratedValue
public Long id;
@ManyToOne
public AUser receiver;
...
}
@Entity
public class AUser {
@Id
@GeneratedValue
public Long id;
@OneToMany(mappedBy="receiver", cascade=CascadeType.ALL)
public List<Vote> receivedVotes;
...
}
这是我的 jpql 查询:
String query = "select p from Piece p order by (select count(v.receiver) from Vote v where v.receiver.id=p.user.id) desc, p.index";
任何人都可以解释异常,为什么会发生以及如何更改查询以避免它。谢谢!
【问题讨论】:
标签: hibernate playframework jpql