【发布时间】:2015-03-27 12:34:16
【问题描述】:
我想在我的hibernate 查询中从多个表中返回某些选定的列。我可以这样做,但它返回一个我似乎无能为力的 Object 类型。
这是我的查询
public static synchronized List<TaskInstanceLineItem> getOpenTasks() {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
List<TaskInstanceLineItem> list = null;
try {
transaction = session.beginTransaction();
Query query = session.createQuery("SELECT DISTINCT ti.taskComponents.task.name, ti.Id, ti.status FROM TaskInstance ti"
+ " INNER JOIN ti.taskComponents.task WHERE ti.taskComponents.live=true");
list = query.list();
transaction.commit();
} catch (HibernateException e) {
transaction.rollback();
e.printStackTrace();
} finally {
session.close();
}
return list;
}
我创建了一个类TaskInstanceLineItem,其中包含name、id 和status、getters 和setters 以及constuctor 字段。我还需要做什么才能使Hibernate 在此TaskInstanceLineItem 对象中返回此查询,而不仅仅是作为一个对象?
【问题讨论】: