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

III님의 프로필 이미지
III

작성한 질문수

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

주문 목록 검색, 취소

MemberService의 join관련 질문

작성

·

195

0

MemberService.java

@Transactional
public Long join(Member member) {
    validationDuplicateMember(member);
    memberRepository.save(member);
    return member.getId();
}

join이 호출되었을 때

insert

into

member

(city, street, zipcode, name, member_id)

values

(?, ?, ?, ?, ?)

 

이렇게 로그가 남는데 h2는 IDENTITY를 사용하기 때문에 member_id는 null로 가는게 맞지 않나요?

 

답변 1

2

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

h2는 IDENTITY를 사용하기 때문에 member_id는 null로 가는게 맞지 않나요?

네, IDENTITY 일 경우 null로 전달되는게 맞습니다 😀

image

감사합니다.

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

image그런데 저는 왜 default가 뜰까요? null이랑 default의 차이는 무엇인가요?

 

@GeneratedValue의 전략을 IDENTITY로 명시하지 않는다면 연결된 DBJPA의 키 생성전략 설정에 따라 null이 아닌, default가 출력될 수 있을 것 같습니다 😀

III님의 프로필 이미지
III

작성한 질문수

질문하기