Почему на клиенте теряются данные?

Передаю с клиента на сервер объект, сущность таблицы БД, в нём имеется связь One To Many. Для связи с БД использую hibernate. Через отладчик вижу, что на сервере всё в порядке, все данные на месте:
5ae8e31c102fd365956914.png
А вот на клиенте уже exception:
5ae8e3e9df8d2661309311.png

Код, который использую для передачи:
serializer.writeObject(orderHeaders);

orderHeaders = (ArrayList<OrderHeaderEntity>) deserializer.readObject();


Подозреваю, что это связано с тем, что передаю слишком большой по размеру объект. Как-то можно контролировать этот максимальный размер?
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 2
@vanyamba-electronics
Вложенные данные надо в несколько запросов передавать. Встроенный в браузер парсер не умеет парсить подуровни. В некоторых браузерах умеет, но это не правило.
Ответ написан
Conacry
@Conacry
Здравствуйте.

Покопайте на тему "hibernate lazy initialization" (Если вы используете ее в отношении One to Many - fetch = FetchType.LAZY). Проблема в том, что связанный объект не загружается с базы данных (здесь вам нужно почитать про proxy-объекты в hibernate).
Чтобы явно инициализировать объект с БД, я использовал:
Hibernate.initialize(Object obj)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы