2015-03-04 6 views
5

Hql'de 'eşit değil' sorgusu yapıyorum.Hql'de eşit sorgu çalışmıyor Not

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

ama Geç olduğunu biliyorum ama herkes benzer bir sorun yaşıyorsa, kullanabileceğiniz doğru

Öğrencim tablodur

+-------------+--------------+------+-----+---------+----------------+ 
| 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 |    | 
+-------------+--------------+------+-----+---------+----------------+ 
+0

"Bu düzgün çalışmıyor" tanımlayın. Tam. Aldığınız tüm yığın izlemesini yapıştırın ve bu sorguyu yürütmek için kullanılan kodu gönderin. –

cevap

12

bu sorguyu yazmak için properly.How çalışmıyor Bu:

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

Ya da bu:

Samantha'nın hiçbir bilgi sağlamadığı için sorunun yukarıdaki örnekte ne olduğundan emin değilim ama tahminim uniqueResult() soruna neden oluyor çünkü bu sorgu bir sonuç döndürüyor ve bir sonuç döndürmedi.