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

Jaesang Yoon님의 프로필 이미지

작성한 질문수

실전! 스프링 데이터 JPA

새로운 엔티티를 구별하는 방법

ID에 @GeneratedValue를 적용하지 않았는데 강의처럼 동작하지 않습니다.

작성

·

142

0

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Item {

    @Id 
    private String id;

    public Item(String id) {
        this.id = id;
    }
}

public interface ItemRepository extends JpaRepository<Item, String> {
}

@SpringBootTest
class ItemRepositoryTest {

    @Autowired
    ItemRepository itemRepository;

    @Test
    void save() {
        Item item = new Item("A");
        itemRepository.save(item);
    }

}

위와 같이 강의를 따라서 테스트 코드를 작성했습니다. 그런데디버깅 찍은 곳을 확인해보니
Member(id=null, username=user0, age=0)

이렇게 나왔습니다. 분명 생성자에서 Item의 id를 "A"로 세팅했는데 어디서 문제가 생긴걸까요?

답변 1

0

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

질문이 잘 이해가가지 않습니다.

올리신 클래스는 Item클래스의 코드를 올리셨는데, 디버깅을 통해 확인한 결과는 Member입니다.

코드 복사붙여넣기가 아닌 화면을 봐야 알 것 같아요.

인텔리제이 화면을 캡쳐해서 올려주시겠어요?

image

감사합니다.