【发布时间】:2012-01-31 20:52:02
【问题描述】:
我很难理解 Hibernate HQL,只习惯于 sql,我不明白我的 HQL 有什么问题。任何帮助将不胜感激:
@Entity
public class KursKode {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String kursKode;
private boolean used;
@ManyToOne
@JoinColumn (name = "kursId")
@LazyCollection(LazyCollectionOption.FALSE)
private Kurs kurs;
....
}
我试图只获取特定 Kurs 的“KursKode”。并且只有“使用=假”的“KursKodes”。所以我在我的 DAO 中尝试了这个:
List<KursKode> kursKodeList = getHibernateTemplate().find("from KursKode k where k.kurs.kursId = ? and not k.used", kursId);
但这给了我以下错误: 数据访问失败
意外的 AST 节点:。靠近第 1 行,第 74 列 [来自 no.dahlsdata.model.Kurs.KursKode k where k.kurs.kursId = ?而不是 k.used];嵌套异常是 org.hibernate.hql.ast.QuerySyntaxException: unexpected AST node: 。靠近第 1 行,第 74 列 [来自 no.dahlsdata.model.Kurs.KursKode k where k.kurs.kursId = ?而不是 k.used]
【问题讨论】: