名前が <> null のすべての異なる人が必要です。
List<Criterion> conditions = new ArrayList<Criterion>();
conditions.add(Restrictions.ne("name", null));
Projection projection = Projections.distinct(Projections.property("name"));
List<People> result = dao.findByCriteria(conditions, projection);
どこ:
public List<T> findByCriteria(List<Criterion> list, Projection projection) {
try {
Criteria criteria = getSession().createCriteria(entityClass);
if (list != null) {
for (int i = 0; i < list.size(); i++) {
criteria.add(list.get(i));
}
}
if (projection != null) {
criteria.setProjection(projection);
}
List result = criteria.list();
return result;
} catch (Exception e) {
// log
}
}
生成されたクエリは次のとおりです。
Hibernate: select distinct this_.name as y0_ from Mrdb this_ where this_.name<>?
しかし、私は結果がありません!実際、射影のみまたは基準リストのみを使用すると、クエリは正常に機能しますが、両方を使用すると結果がありません。
私は何が欠けていますか?
ありがとう