HQL: Как выбрать все сущности, отличные от некоторого столбца?



Простой вопрос:
В этом примере мне нужно получить все объекты, но эти объекты должны иметь отдельные поля msgFrom.
Когда я использую

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

, я получаю следующую ошибку:

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

Я полагаю, это потому, что Hibernate извлекает только один столбец, но мне нужен объект, а не столбец.
Как я могу это сделать?
Я думаю, что могу просто пролистать запятую, т.е.

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

Но что, если у меня здесь больше 20 полей? Есть ли простое решение?

Спасибо!

20
задан gennad 19 January 2011 в 10:30
поделиться