Jakarta.json.bind.jsonbexception: невозможно сериализовать свойство 'hibernatelazyinitializer'JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Jakarta.json.bind.jsonbexception: невозможно сериализовать свойство 'hibernatelazyinitializer'

Сообщение Anonymous »

Я пытаюсь сериализовать лениво (тип выборки) населенную часть, поступающую из JPA (API Persistence Jakarta, внедрение Hibernate) в JSON с JSON-B (Джакарта JSON, обязательство, внедрение Yasson): < /p>

Код: Выделить всё

@ManyToOne(fetch = FetchType.LAZY)
private MyJpaEntity o;
Я знаю, что экземпляры org.hibernate.proxy.lazyinitializer не должны быть сериализованы, я использовал этот обходной путь с Джексоном: @jsonignoreProperties ({"hibernatelazyInitializer", " "}) , он дал чистые значения JSON, не содержащие эти поля. Это не сработало, Джакарта Джсон все еще пытался сериализовать перехватчика Hibernate. Однако, казалось, это был путь, так как я хотел игнорировать свойство. , но недвижимость hibernatelazyinitializer все еще находится в значениях JSON:

Код: Выделить всё

public static final class DumbLazyInitializerSerializer implements JsonbSerializer {
@Override
public void serialize(final LazyInitializer li, final JsonGenerator jg, final SerializationContext sc) {
jg.writeNull();
}
}

try (final Jsonb jsonb = JsonbBuilder.create(new JsonbConfig().withSerializers(new DumbLazyInitializerSerializer()))) {
// do your own stuff
}
< /code>
Есть ли разумный способ избавиться от исключения и нежелательного поля в полученном JSON? В этой проблеме есть проблема, но она не обеспечивает рабочего решения. Изменение типа Fetch на Eager 
не является опцией в моем случае, так как это вызвало бы некоторые проблемы с производительностью.

Подробнее здесь: https://stackoverflow.com/questions/793 ... atelazyini
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»