2016-09-18 4 views
1

Я использую Dropwizard и Hibernate.JPQL Query возвращает объект без имен полей

Я получил этот JPQL запрос:

String queryString = "select u.portalUserId, p.personName, p.personMobile, p.personEmail, u.portalUsertype, p.personNotes " 
        + "FROM Persons p, PortalUsers u WHERE p.personId = u.portalUserPersonId"; 

Это простое соединение между 2 субъектами и получить некоторую информацию о пользователях.

Путь я бегу это так:

Query q = sessionFactory.getCurrentSession().createQuery(queryString); 
List<PortalUserBasicUserInfo> l = q.list(); 

PortalUserBasicUserInfo класс, который имеет все поля выбора пункта.

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

"[[2,\"\",null,null,\"MANAGER\",null]]" 

Это не будет работать, так как я хочу, чтобы вернуть результат в формате JSON с именами полей. Как добавить имя поля, чтобы кто-то, читающий json, мог правильно его разобрать?

+0

Почему бы не добавить новую запись в JSON для заголовков столбцов? –

+0

Что значит? –

+0

Измените свой JSON, добавив запись для заголовков. –

ответ

0

То, что я в конце концов сделал изменялось для запроса, чтобы вернуть тип мне нужно:

String queryString = "select new com.myPackage.Users.PortalUserBasicUserInfo(u.portalUserId ,p.personName, p.personMobile, p.personEmail, u.portalUserStatus, u.portalUsertype, p.personNotes) " 
        + "FROM Persons p, PortalUsers u WHERE p.personId = u.portalUserPersonId"; 

Обратите внимание на new com.myPackage.Users.PortalUserBasicUserInfo. Это создало список правильного типа, которого я ожидал.

 Смежные вопросы

  • Нет связанных вопросов^_^