我正在尝试使用休眠中的“不同”HQL 子句执行查询并获取列表。但是,每当我使用“ditinct”时,我都会得到一个 java 对象列表,而不是不使用“distinct”而返回的 POJO。有没有一种很好的方法来获取 pojos 而不是对象?
按预期返回 POJO 列表的示例:
class myPojos () { ... (has some properties/fields) propOne, propTwo, propThree ...}
在 DAO 内部
Session s = HibernateUtil.currentSession();
List<myPojos> myPojoList = s
.createQuery( "select from " getPojoClass().getName())
.list();
但是,添加一个'distinct'子句
List<myPojos> myPojoList = s
.createQuery( "select distcinct mpl.propOne, mpl.propTwo, mpl.propThree from " + getPojoClass().getName() + "mpl" )
.list();
...而是返回一个对象列表。因此,我释放了 myPojos 类的所有 getter 和 setter,并释放了 type-safetey。
有没有办法做到这一点并获得一个列表来重新定义 getter/setteres 和 type-safey?