인프런 커뮤니티 질문&답변

조진수님의 프로필 이미지
조진수

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

즉시 로딩과 지연 로딩

일대다 관계 지연로딩시 질문

해결된 질문

작성

·

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 객체 참조 오류가 사라졌습니다. 엔티티에 저런식으로 필드에 필요한 객체를 생성해야 하나요?

조진수님의 프로필 이미지
조진수

작성한 질문수

질문하기