Hibernate:构建唯一字符串列表 - 而不是实体

mon*_*nny 3 sql hibernate hql unique distinct

我正在使用Hibernate在数据库中存储和检索Java实体.

我需要建立一个独特字符串列表(为了创建网页'下拉'/'查找').

注意:我真的不想在这里检索实体 - 我想运行等效的SQL'SELECT DISCTINCT(列)FROM表;' 并返回一个字符串列表.

是否有标准的Hibernate成语用于此 - 或者我应该使用其他机制?

小智 10

Hibernate查询支持该查询,您可以使用hql或native查询来获取String.

Query query = session.createQuery("select distinct user.firstname from User as user");
Run Code Online (Sandbox Code Playgroud)

要么

Query query = session.createNativeQuery("select distinct user.firstname from User user");

List<String> list = (List<String>) query.list();
Run Code Online (Sandbox Code Playgroud)

参考:Hibernate查询