Hibernate HQL用于按参数和条件查找

Hibernate HQL用于按参数和条件查找,hibernate,hql,Hibernate,Hql,我正在努力理解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")

我正在努力理解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;
....
}
我试着只为一个特定的库尔人取“库尔斯科德”。只有“used=false”的“KursKodes”。所以我在我的刀上试过这个:

List<KursKode> kursKodeList = getHibernateTemplate().find("from KursKode k where k.kurs.kursId = ? and not k.used", kursId);
List kursKodeList=getHibernateTemplate().find(“从KursKode k,其中k.kurs.kursId=?而不是k.used”,kursId);
但这给了我以下错误: 数据访问失败


意外的AST节点:。在第1行第74列附近[来自编号为dahlsdata.model.Kurs.KursKode k,其中k.Kurs.kursId=?且未使用k];嵌套异常为org.hibernate.hql.ast.QuerySyntaxException:意外的ast节点:。在第1行第74列附近[来自编号dahlsdata.model.Kurs.KursKode k,其中k.Kurs.kursId=?而不是k.used]

问题很小。我忘了在末尾加上=false。以下是它应该是什么:

List<KursKode> kursKodeList = getHibernateTemplate().find("from KursKode k where k.kurs.kursId = ? and not k.used=0", kursId);
List kursKodeList=getHibernateTemplate().find(“从KursKode k,其中k.kurs.kursId=?而非k.used=0”,kursId);