JPA 공부중 의문이 생겼다.
왜 id는 int, long, Integer가 아닌 Long을 사용할까?
1) int가 아닌 이유
long이 더 많은 값을 저장할 수 있다.
(비교)
int
- 저장 공간: 32 bit
- 값의 범위 : -2147483648 ~ 2147483647
long
- 저장 공간: 64 bit
- 값의 범위: -9223372036854775808 ~ 9223372036854775807
2) long 대신 Long 쓰는 이유
long은 primitive type으로, 값이 없을 경우 0으로 초기화된다.
따라서, id가 없어서 0으로 세팅이 된 것인지, 아니면 실제 값이 0인지 데이터만 보고 판별할 수 없다.
반면 Long은 wrapper type으로, 값이 없을 경우 null로 초기화 된다. 따라서 값이 0이라면, id가 0으로 저장됐음을 알 수 았다.
레퍼런스
1. 인프런 답변: id값을 Long 타입으로 지정하는 이유가 따로 있나요??
'개발 > JPA' 카테고리의 다른 글
[강의 요약 노트]실전! 스프링 부트와 JPA 활용1 : (3) 애플리케이션 구현 준비 (0) | 2021.12.26 |
---|---|
[강의 요약 노트]실전! 스프링 부트와 JPA 활용1 : (2)도메인 분석 설계 (0) | 2021.12.26 |
[강의 요약 노트]실전! 스프링 부트와 JPA 활용1 : (1) 프로젝트 환경 설정 (0) | 2021.12.26 |
[JPA 기본] 2. JPA 소개 (0) | 2021.12.03 |
[JPA 기본] 1. 강좌 소개 (0) | 2021.12.02 |