HQL: Comment sélectionner toutes les entités distinctes par colonne?

Une simple question:

Dans cet exemple, j'ai besoin de récupérer tous les objets, mais ces objets ont des msgFrom champs.

Lorsque j'utilise

List<Message> list = getHibernateTemplate().find("select distinct m.msgFrom from Message m WHERE msgTo = ? AND msgCheck = 0", dinc);

- Je obtenir de l'erreur suivante:

java.lang.ClassCastException: java.lang.Integer cannot be cast to com.example.model.Message

Je suppose que c'est parce que Hibernate récupère une seule colonne, mais j'ai besoin d'un objet, pas de colonne.
Comment puis-je faire cela?
Je crois que je peux juste faire défiler une virgule, c'est à dire

List<Message> list = getHibernateTemplate().find("select distinct m.msgFrom, m.To, m.datetime, .......... from Message m WHERE msgTo = ? AND msgCheck = 0", dinc);

Mais que faire si j'ai plus de 20 champs, ici? Est-il une solution simple?

Merci!

InformationsquelleAutor gennad | 2011-01-19