我有ArrayList
empDetail
类型(POJO类)。
List<EmpDetail> empDetailList = new ArrayList<EmpDetail>();
此列表表示数据库中的表。 我需要下拉列表的值,所以我做了
<s:select list="empDetailList" listKey="country" listValue="country" name="country"></s:select>
通过这个我从数据库获得所有国家列的行和它的好。但是我在这个下拉列表中需要一个独特的国家。
我知道我可以编写一个SQL查询来获取不同的国家/地区,但是如何在这种情况下执行此操作。
更新1: 你们中的任何一个人都有Hibernate解决方案吗?
更新2: 我的POJO课程如下......
package bean;
import java.io.Serializable;
import java.sql.Date;
public class EmpDetail implements Serializable{
private static final long serialVersionUID = 1L;
private Long id;
private String name;
private int age;
private String address;
private String city;
private String section;
private String country;
private String classStudying;
private String fatherName;
private String motherNmae;
private Date DOJ;
private String certificates;
private Date CompletedDate;
private String crossCheckedBy;
private Date crossCheckedDate;
private String comments;
//and its getters and setters...
}
答案 0 :(得分:0)
您需要按国家/地区对象进行分组。简单的HQL查询
from EmpDetail where id in (select max(id) from EmpDetail group by country)
答案 1 :(得分:0)
如果要显示不同的选择项,则意味着
EmpDetail empDetail = new EmpDetail();
Map<Object, Object> empDetailMap = new LinkedHashMap<Object, Object>();
if (empDetailList.size() > 0) {
for (Iterator<EmpDetail> iter = industryDetail.iterator(); iter.hasNext();) {
empDetail = (EmpDetail) iter.next();
empDetailMap.put(empDetail.getId(),empDetail.getName());
}
}