-1

我有一个ArrayListwhich 类型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...


}
4

2 回答 2

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());
        }
    }
于 2013-03-14T12:09:07.280 回答
0

您需要按国家/地区对象分组。简单的 HQL 查询

from EmpDetail where id in (select max(id) from EmpDetail group by country)
于 2013-03-14T12:07:18.183 回答