해결된 질문
작성
·
1.3K
1
Member 와 Post 가 일대다 관계일 때, member를 가져올 때 post가 지연로딩으로 되면 가져온 멤버의 필드 List<Post> 는 null값으로 설정되나요? 아니면 빈 List로 생성되나요?
Member 클래스
@OneToMany(mappedBy = "member",cascade = CascadeType.ALL)
private List<Post> posts;
Post 클래스
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="member_id")
private Member member;
전체 회원의 post 개수를 화면에 보여주려고 타임리프에서
<td th:text="${member.posts.size()}"></td>
이렇게 각 멤버의 post에 접근했더니
org.springframework.expression.spel.SpelEvaluationException: EL1011E: Method call: Attempted to call method size() on null context object
와 같이 null 오브젝트에 size()를 호출했다고 합니다.
답변 2
0
안녕하세요. 조진수님, 공식 서포터즈 OMG입니다.
JPA 기본편 양방향 연관관계와 연관관계의 주인 1- 기본 (05:00 부터) 에서 설명하고 계십니다.
추가로 아래 링크를 참고해주세요
https://www.inflearn.com/questions/258175
감사합니다.
0
@OneToMany(mappedBy = "member",cascade = CascadeType.ALL)
private List<Post> posts=new ArrayList<>();
같이 수정하였더니 null 객체 참조 오류가 사라졌습니다. 엔티티에 저런식으로 필드에 필요한 객체를 생성해야 하나요?