User의 post 목록을 불러오는 도중 에러 발생
@Transactional
public PostResponse savePost(List<String> urls, PostRequest request, User user) {
Post post = new Post(request, user);
saveImages(urls, post);
user.addPost(post);
postRepository.save(post);
return new PostResponse(post, user);
}
위 처럼 실행하니 아래같은 에러가 발생했다.
failed to lazily initialize a collection of role:
___could not initialize proxy - no Session
@Transactional
public PostResponse savePost(List<String> urls, PostRequest request, User user) {
Post post = new Post(request, user);
User userById = userRepository.findById(user.getId()).orElseThrow(
() -> new NotFoundException(NOT_FOUND_USER)
);
saveImages(urls, post);
userById.addPost(post);
postRepository.save(post);
return new PostResponse(post, userById);
}
이렇게 닫혀있던 transactional을 열어 user를 만들고 넣어주니 proxy객체에 실제 post들을 넣을 수 있었다.