簡體   English   中英

在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();
    }

但它無法正常工作。如何正確編寫此查詢

我的學生表是

+-------------+--------------+------+-----+---------+----------------+
| 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()導致了麻煩,因為這個查詢返回一個列表而不是一個結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM