Рассмотрим следующие две таблицы - сообщения и комментарии схемы базы данных блога, в которой таблица сообщений имеет отношение один ко многим с таблицей комментариев.
Я использую Двунаправленная связь Один ко многимОтображение , потому что мои дочерние объекты ограничены только.
В Двунаправленное отображение один-ко-многим , я написал один вызов rest, чтобы получить все сообщения с соответствующими комментариями для сообщения Использование по умолчаниюнайти все методы в репозитории JPA.
Но произошло следующее исключение:
"message": "Could not write JSON: failed to lazily initialize a collection of role: com.insights.apartmento.modal.Post.comments, could not initialize proxy - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: failed to lazily initialize a collection of role: com.insights.apartmento.modal.Post.comments, could not initialize proxy - no Session (through reference chain: java.util.ArrayList[0]->com.insights.apartmento.modal.Post[\"comments\"])",
Мой класс Pojo выглядит следующим образом
In POST POJO
@Entity
@Table(name = "posts")
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Size(max = 100)
@Column(unique = true)
private String title;
@Size(max = 250)
private String description;
@Lob
private String content;
@OneToMany(cascade = CascadeType.ALL,
fetch = FetchType.LAZY,
mappedBy = "post")
private Set<Comment> comments = new HashSet<>();
// Getters and Setters (Omitted for brevity)
}
В комментариях POJO
@Entity
@Table(name = "comments")
public class Comment{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotNull
@Lob
private String text;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "post_id", nullable = false)
private Post post;
// Getters and Setters (Omitted for brevity)
}