I am working on spring mvc hibernate project using jackson. At the time of fetching data from database using rest service , If I am obtaining whole object using hql:
Query q = getSession().createQuery("select r from Role order by r.id");
return (List<Role>) q.list();
OUTPUT:
[
{
"id": 1,
"name": "Role1",
"description": "XXX",
"privilege": "YYY"
},
{
"id": 1,
"name": "Role2",
"description": "XXX",
"privilege": "YYY"
}
]
I get array of objects, but if I select partial objects using following hql:
Query q = getSession().createQuery("select r.id , r.name from Role order by r.id");
return (List<Role>) q.list();
it returns array of array. OUTPUT:
[
[
1,
"Role1"
],
[
2,
"Role2"
]
]
How can I change my code so as to change this array of array as array of object. DESIRED OUTPUT:
[
{
"id": 1,
"name": "Role1"
},
{
"id": 1,
"name": "Role2"
}
]
My rest code is:
@RequestMapping(value = "/roles/" , method=RequestMethod.GET)
public @ResponseBody ResponseEntity<List<Role>> getRoles()
{
return new ResponseEntity<List<Role>>(roleDao.getRoles(), HttpStatus.OK);
}