使用Spring Hibernate Sessionfactory选择distinct

时间:2011-09-15 16:28:36

标签: java sql hibernate spring sessionfactory

这将是我的疑问:

SELECT DISTINCT name FROM city;

这是我目前的代码:

public List<City> listCities() {
    return sessionFactory.getCurrentSession().createQuery("from City").list();
}

表示:

SELECT * FROM city;

我该如何更改代码,以便查询正确?

我希望我提供足够的信息,随时提问。

1 个答案:

答案 0 :(得分:1)

只需编写以下HQL:
sessionFactory.getCurrentSession().createQuery("select distinct from City").list()
甚至更好(使用结果变换器):

Query q = sessionFactory.getCurrentSession().createQuery("from City");
q.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);