gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:19 25 4
gpt4 key购买 nike

我在 hql 中尝试“不等于”查询。

 @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() 导致了问题,因为此查询返回了一个列表而不是一个结果。

关于java - 不等于 hql 中的查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com