강의

멘토링

커뮤니티

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

ksd2521님의 프로필 이미지
ksd2521

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

MemberRepository, MemberRepositoryTest

작성

·

340

0

 

회원 리포지토리 개발 부분에서

repository 패키지를 생성하여 MemberRepository를 작성한 후

 

MemberRepositoryTest 쪽에 빨간 글씨로 오류가 나서 찾아보던 중

초기화 시켜야 된다는 글을 보고  file > open > build.gradle > Open as project 하여 똑같이 진행하였습니다.

 

그 후 아래 이미지 처럼  MemberRepository  에 있는  save 메소드와 findOne메소드가 아래 이미지처럼 

변경이 되었지만

MemberRepositoryTest 의   setUsername , find, getUsername 빨간 글씨는 그대로 있습니다 ㅜㅜ

어떻게 해결 해야 할까요?  도움 부탁드립니다. 

 

혹시 MemberRepositoryTest 클래스를 삭제해도 무방한가요?

답변 1

0

안녕하세요. ksd2521님, 공식 서포터즈 OMG입니다.

Member 클래스의 코드도 올려주셨으면 더 정확히 확인이 가능했을텐데 없어서 확인해주시면 감사하겠습니다.

 

강의에서는 Member클래스의 name필드는 username이 아닌 name으로 진행하였습니다.

강의와 같이 작성하셨을까요?

save의 경우 void를 반환하도록 작성하였는데, savedId로 받고 있어 문제가 발생합니다.

find메서드가 findOne으로 바뀌면 될 것 같네요.




감사합니다.

ksd2521님의 프로필 이미지
ksd2521
질문자

package jpabook.jpashop.domain;


import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;

import static javax.persistence.FetchType.*;

@Entity
@Getter @Setter
public class Member {

@Id @GeneratedValue
@Column(name = "member_id")
private Long id;

private String name;

@Embedded
private Address address;

@OneToMany(mappedBy = "member",fetch = LAZY)
private List<Order> orders = new ArrayList<>();

}
ksd2521님의 프로필 이미지
ksd2521
질문자

위와 같이 name으로 하였습니다. 혹시 맨 마지막 @OneToMany 의 fetch=LAZY 사용과는 관련이 없는거겠지요? 제가 MemberRepositorytest 클래스를 삭제 후 진행 해보니 따로 오류가 뜨는 건 없었습니다. 문제 없겠죠?!

LAZY랑은 관계는 없을거같습니다. name인 경우 getName()으로 작성해주세요.

테스트코드는 테스트를 하기 위함이며 웹 애플리케이션의 기능상으로는 영향이 가지 않기 때문에 삭제하여도 무방합니다.

ksd2521님의 프로필 이미지
ksd2521

작성한 질문수

질문하기