不等于 hql 中的查询不起作用

Not equal query in hql not work

我正在 hql 中尝试 'not equal' 查询。

 @Override
    public Student findStudentsByYear(String year) {
        String queryString = "from Student where year<>:year ";
        Query query =   sessionFactory.getCurrentSession().createQuery(queryString);        
        query.setParameter("year", year);
        return (Student)query.uniqueResult();
    }

但无法正确编写此查询properly.How

我的学生table是

+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| studentId   | bigint(20)   | NO   | PRI | NULL    | auto_increment |
| course      | varchar(255) | YES  |     | NULL    |                |
| dob         | varchar(255) | YES  |     | NULL    |                |
| email       | varchar(255) | YES  |     | NULL    |                |
| faculty     | varchar(255) | YES  |     | NULL    |                |
| firstName   | varchar(255) | YES  |     | NULL    |                |
| gender      | int(11)      | YES  |     | NULL    |                |
| homeAddress | varchar(255) | YES  |     | NULL    |                |
| lastName    | varchar(255) | YES  |     | NULL    |                |
| linkedIn    | varchar(255) | YES  |     | NULL    |                |
| university  | varchar(255) | YES  |     | NULL    |                |
| year        | varchar(255) | YES  |     | NULL    |                |
| user_userId | bigint(20)   | YES  | MUL | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+

我知道已经晚了,但如果有人有类似的问题,你可以使用这个:

Criteria criteria = session.createCriteria(Student.class);
criteria.add(Restrictions.ne("year", year));
List<Student> result = criteria.list();

或者这样:

List<Student> result = session.createQuery ("from Student where year!=:year").setParameter("year", year).list();

我不确定上面示例中的问题是什么,因为 Samantha 没有提供任何信息,但我的猜测是 uniqueResult() 造成了麻烦,因为此查询 returns a列出而不是一个结果。