Jakarta.json.bind.JsonbException: невозможно сериализовать свойство hibernateLazyInitializerJAVA

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

Сообщение Anonymous »

Я пытаюсь сериализовать лениво (тип выборки) заполняемый объект, поступающий из JPA (Jakarta Persistence API, реализация Hibernate) в JSON с помощью JSON-B (привязка Jakarta JSON, реализация Yasson):

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

@ManyToOne(fetch = FetchType.LAZY)
private MyJpaEntity o;
Я знаю, что экземпляры org.hibernate.proxy.LazyInitializer не должны быть сериализованы, я использовал этот обходной путь с Джексоном: @JsonIgnoreProperties({"hibernateLazyInitializer", "handler "}) он выдавал чистые значения JSON, не содержащие этих полей.
Я пытался получить тот же результат с JSON-B, используя собственный PropertyVisibilityStrategy, но это не сработало, Jakarta JSON все еще пыталась сериализовать перехватчик Hibernate. Однако мне показалось, что это правильный путь, поскольку я хотел игнорировать это свойство.
Наконец, я сериализовал ленивый инициализатор как null, я избавился от JsonbException , но свойство 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
}
Есть ли разумный способ избавиться от исключения и нежелательного поля в результирующем JSON? В этой проблеме есть проблема, но она не дает рабочего решения. Изменение типа выборки на EAGER в моем случае не вариант, так как это может вызвать некоторые проблемы с производительностью.

Подробнее здесь: https://stackoverflow.com/questions/793 ... atelazyini
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Jakarta.json.bind.jsonbexception: невозможно сериализовать свойство 'hibernatelazyinitializer'
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Javax to jakarta Migration: Glassfish Jaxb 4.x читает jakarta.xml.bind.nantations*, но не javax.xml.bind.annotation.*
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как лучше всего справиться с конвергенцией зависимости между jakarta.ws.rs:jakarta.ws.rs-api:2.x и jakarta.ws.rs:jakarta
    Anonymous » » в форуме JAVA
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • Путаница в отношении семантики ценности Bind :: Bind's Value
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Путаница в отношении семантики ценности Bind :: Bind's Value
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

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