java - 使用 Spring Hibernate SessionFactory 选择不同的

标签 java sql hibernate spring sessionfactory

这将是我的查询:

SELECT DISTINCT name FROM city;

这是我目前的代码:

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

这意味着:

SELECT * FROM city;

我必须如何更改代码才能使查询正确?

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

最佳答案

只需编写如下HQL:
sessionFactory.getCurrentSession().createQuery("select distinct from City").list()
甚至更好(带有结果转换器):

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

关于java - 使用 Spring Hibernate SessionFactory 选择不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7434270/

相关文章:

mysql - 为 MYSQL 中的同一列指定 "AND"条件超过 1 次

java - JBoss 7 中的多线程问题

eclipse - 警告 : No mapping found for HTTP request with URI [/projectdemo/WEB-INF/jsp/results. jsp] 在 DispatcherServlet 中,名称为 'dispatcher'

java - Hibernate n+1 select 具有多个表层次结构

java - 什么是原始类型,为什么我们不应该使用它呢?

sql - CASE WHERE 更改运算符 - SQL

java - 如何在 Java 中进行方法链接? o.m1().m2().m3().m4()

mysql - 从 MySQL 中的 2 个表中执行 SELECT COUNT

Java:如何确定抽象类型的具体类型?

java - servlet 容器是否可以防止 web 应用程序相互干扰,它们是如何做到的?