Я хочу вернуть определенные выбранные столбцы из нескольких таблиц в мой запрос hibernate
. Я могу это сделать, но он возвращается как тип объекта, с которым я, похоже, ничего не могу с этим поделать.Как вернуть только столбцы ceratin в запросе на спящий режим?
Это мой запрос
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
, а не только как объект?
Спасибо, работал отлично. – OneTwo
Любая идея, как я могу теперь построить часть DISTINCT? – OneTwo