У меня есть класс Java с именем User с
@Column(name = "id")
private Long id;
@NotNull
@Column(name = "NAME")
private String name;
Я пытаюсь получить некоторые детали в списке и преобразовать их в JSOn вот так:
Session session = this.sessionFactory.getCurrentSession();
String queryString="select id,name from User where unit=:name";
Query query= sessionFactory.getCurrentSession().createQuery(queryString);
query.setParameter("name", name);
List<User> users= (List<User>) query.list();
Gson gson = new GsonBuilder().setPrettyPrinting().create();
Map<String, List<User>> wrap = new HashMap<>();
wrap.put("users", users); // wrap user list in a map
String json = gson.toJson(wrap);
Это дает JSON
{
"users": [
[
1,
"Room"
],
[
2,
"Regi"
],
]
}
Как мне изменить его так, чтобы я получил JSON как
{
"users": [
[
"id":1,
"name":"Rovom"
],
[
"id":2,
"name":"Regi"
],
]
}
Редактировать Я понял, что это запрос, который вызывает вопрос. Если я использую
String queryString="from User where unit=:name";
, он дает правильный формат. Как это исправить?