我使用hibernate-generic-dao来实现搜索功能。因为我只需要显示其中一条记录,如果它们在一个列字段上有相同的值。但我不确定如何通过搜索/过滤功能来实现这一点。
package com.googlecode.genericdao.search;PersonContact domain object:
...
@Column(name = "group_key", length = 20)
public String getGroupKey() {
return groupKey;
}
@Formula(value = "(SELECT status from person_contact m " +
" WHERE m.case = case AND m.movement_id = movement_id )")
public String getActiveRecord() {
return activeRecord;
}
...Search search = new Search();
search.addFilterNotNull("groupKey"); //groupKey is the field I want to use "group by / unqiue" with it
search.addFilterEqual("type","C");
search.addFilterCustom("{activeRecord} != 'I' ");
search.setMaxResults(limit);//for paging
search.setFirstResult(startIdx);
SearchResult<PersonContact> resultObj = PersonContactDAO.searchAndCount(search);发布于 2021-06-14 21:16:14
您可能应该通过在存储库中为该项目打开一个问题来问这个问题:https://github.com/vincentruan/hibernate-generic-dao
看起来似乎这个项目已经被放弃了,所以除非你想深入研究细节,否则你可能应该试着远离它。
https://stackoverflow.com/questions/67930655
复制相似问题