Не найден сериализатор для класса org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor - PullRequest
0 голосов
/ 05 октября 2018

Когда я пытаюсь перейти к конечной точке, я получаю следующую ошибку

Ошибка определения типа: [простой тип, класс org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor];Вложенное исключение - com.fasterxml.jackson.databind.exc.InvalidDefinitionException: не найден сериализатор для класса org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor и не обнаружено никаких свойств для создания BeanSerializer (чтобы избежать исключения, отключите SerializationFeature.FAIL_ONEANS) 100*

Я проверил все свои модели и все атрибуты имеют геттеры и сеттеры.Так в чем же проблема?

Я могу это исправить, добавив spring.jackson.serialization.fail-on-empty-beans=false, но я думаю, что это всего лишь обходной путь, чтобы скрыть исключение.

Редактировать

Product модель:

@Entity
public class Product {
    private int id;
    private String name;
    private String photo;
    private double price;
    private int quantity;
    private Double rating;
    private Provider provider;
    private String description;
    private List<Category> categories = new ArrayList<>();
    private List<Photo> photos = new ArrayList<>();

    // Getters & Setters
}

PagedResponse класс:

public class PagedResponse<T> {

    private List<T> content;
    private int page;
    private int size;
    private long totalElements;
    private int totalPages;
    private boolean last;

    // Getters & Setters
}

RestResponse класс:

public class RestResponse<T> {
    private String status;
    private int code;
    private String message;
    private T result;

    // Getters & Setters
}

В моем контроллере я 'м возвращается ResponseEntity<RestResponse<PagedResponse<Product>>>

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Вы можете игнорировать создание вывода JSON свойства с помощью

@JsonIgnore 

Или если у вас есть какие-либо загруженные свойства с привязкой.Вы можете использовать эту аннотацию в верхней части свойства.

@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) 

Пример:

@Entity
public class Product implements Serializable{
   private int id;
   private String name;
   private String photo;
   private double price;
   private int quantity;
   private Double rating;
   private Provider provider;
   private String description;

   @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
   private List<Category> categories = new ArrayList<>();

   @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
   private List<Photo> photos = new ArrayList<>();

   // Getters & Setters
}

Я надеюсь, что ваша проблема будет решена.Благодаря.

0 голосов
/ 05 октября 2018

Хм, вы хотите отправить объекты из одного экземпляра jvm в другой, которые должны их сериализовать?если это так, я думаю, что ошибка в том, что вы каким-то образом извлекли сущности, а hibernate использует не сериализуемые классы, вам нужно преобразовать сущности в pojo (я имею в виду использование нативных типов или объектов, которые являются сериализуемыми).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...