2012-03-26 12 views
2

Ich speichere und finde Java Entities in einem DB mit Hibernate.Hibernate: Erstelle eine Liste von Unique Strings - keine Entities

Ich muss (für die Zwecke der Erstellung von Web-Seite 'Drop-Downs /' Lookups ') eine Liste von eindeutigen Strings aufbauen.

Hinweis: Ich möchte Entitäten hier nicht wirklich als solche abrufen - ich möchte das Äquivalent eines SQL 'SELECT DISCTINCT (column) FROM table;' und erhalten Sie eine Liste von Strings zurück.

Gibt es einen Standard Hibernate Idiom dafür - oder sollte ich einen anderen Mechanismus verwenden?

Antwort

6

Hibernate Query unterstützt diese Abfrage, Sie können entweder hql oder native Abfrage verwenden, um String abzurufen.

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

oder

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

List<String> list = (List<String>) query.list(); 

Referenz: Hibernate Query