Я использую весенний отдых и меня интересует одна вещь.Когда я отсоединяю свой объект и возвращаю его обратно, я получаю следующую ошибку: Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: failed to lazily initialize a collection of role: kz.training.springrest.entity.Publisher.books
Я понимаю, почему.Но я хочу знать, если есть что-то, что может игнорировать это исключение и установить значение по умолчанию (ноль), например.
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@ToString
@Entity
public class Publisher {
@Id
@SequenceGenerator(name = "publisher_id_seq_gen", sequenceName = "publisher_id_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "publisher_id_seq_gen")
private Long id;
private String name;
@OneToMany
@JoinColumn(name = "publisher_id")
private List<Book> books;
public Publisher(Long id, String name){
this.id = id;
this.name = name;
}
}
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Entity
public class Book {
@Id
@SequenceGenerator(name = "book_id_seq_gen", sequenceName = "book_id_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "book_id_seq_gen")
private Long id;
private String name;
}
@Service
public class BookService {
@PersistenceContext
private EntityManager entityManager;
@Transactional
public Publisher selectPublisher(){
Publisher publisher = entityManager.find(Publisher.class, new Long(1));
entityManager.detach(publisher);
return publisher;
}
}