Почему не инициализируются поля сущности в Spring?
Есть сущность Book с методом isValid.
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "books")
public class Book implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(length = 50, nullable = false)
private String title;
@Column(length = 50, nullable = false)
private String author;
@Column(length = 50, nullable = false)
private String genre;
@Column(nullable = false)
private String description;
@Column
private int available;
public static boolean isValidate(@NotNull Book book) {
return Valids.textIsValid(book.title);
}
}
Её имена совпадают с именами колонок в таблице.
При использовании этого метода контроллером, поля аргумента (объекта Book) почему-то пусты, хотя по отладке видно, что внутри присутствует некий hibernate interceptor, в поле target которого все необходимые данные есть.

С null полями работать соответственно не получается. В чём ошибка и как это можно исправить? Заранее спасибо.
Ответы (1 шт):
У нас возникла аналогичная проблема, если у вас используется ModelMapper, то возможно это может помочь: https://github.com/modelmapper/modelmapper/issues/442
В нашем случае просто помог апгрейд на версию 2.3.3
Также возможно ваша проблема решается просто получением через getter'ы, нежели прямое обращение к полям