Java ErrorCounter意外令牌在哪里-休眠

Java ErrorCounter意外令牌在哪里-休眠,java,hibernate,hql,Java,Hibernate,Hql,我使用jpa进行查询。我的问题是: public PartsItem getAvailablePartsItem(String search) { Session s = sessionFactory.openSession(); PartsItem pi; pi = s.createQuery("from PartsItem where lower(serialNumber) like lower(:serialNumber) and where available =

我使用jpa进行查询。我的问题是:

public PartsItem getAvailablePartsItem(String search) {
    Session s = sessionFactory.openSession();
    PartsItem pi;
    pi = s.createQuery("from PartsItem where lower(serialNumber) like lower(:serialNumber) and where available = true", PartsItem.class).setParameter("serialNumber",'%' + search + '%').list().get(0);
    s.close();
    return pi;
}

我在where和available收到了一个错误,出现了意外标记。我希望这两个条件都能满足,但我一直在犯这些错误。这可能是and的问题吗?

您不应该有最终的where关键字,因此删除该关键字会使其成功解析。

JPA没有SessionFactory或会话。所以不,你没有使用JPA。JPQL从SELECT{alias}开始,这是您不使用JPA的另一个原因