Как отобразить несколько наборов из класса Hibernate в Json?

Это часть класса, которую я отобразил в Hibernate:

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Literature> literatures;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<RecycleFacility> recycleFacilities;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Assent> assents;

Но когда я пытаюсь сопоставить этот класс с JSon, у меня всегда есть стеки. Я использовал Jackson Mapper, Genson и Google Gson, но они не могут отобразить этот фрагмент кода (или я не знаю, как это отобразить). Может кто-нибудь сказать мне, как правильно отобразить этот вид наборов?

1 ответ

Решение

Предполагая, что ваш формат JSON так

 {
   "literatures":[
      {
         "id":10,
         "name":"abc"
      }
   ],
   "recycleFacilities":[
      {
         "id":20,
         "name":"testFaculty"
      }
   ],
   "assents":[
      {
         "id":30,
         "name":"Test"
      }
   ]
}

и предполагая, что ваши классы объектной модели составлены в другом классе, как

Class Another{ 

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Literature> literatures;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<RecycleFacility> recycleFacilities;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Assent> assents;
// getter/setter
}

Затем вы можете проанализировать и заполнить вашу спящую объектную модель, как показано ниже.

Another response = gson.fromJson(reader, Another.class);

Вы можете создать JSON из модели, как показано ниже

Gson gson = new Gson();
String jsonString= gson.toJson(yourObject);
Другие вопросы по тегам