JAVA

Entity설계 시 ID 값을 Long으로 지정하는 이유

싸블양 2025. 9. 10. 19:47

1. 일단 int가 아닌 이유

long이 더 많은 값을 저장할 수 있다. 

비교해보자

 

int   4바이트

- 저장 공간: 32 bit

- 값의 범위 : -2147483648 ~ 2147483647

 

long  8바이트 in java

- 저장 공간: 64 bit

- 값의 범위: -9223372036854775808 ~ 9223372036854775807

 

 

2. long 대신 Long 쓰는 이유

long은 primitive type으로, 값이 없을 경우 0으로 초기화된다. 

따라서, id가 없어서 0으로 세팅이 된 것인지, 아니면 실제 값이 0인지 데이터만 보고 판별할 수 없다. 

반면 Long은 wrapper type으로, 값이 없을 경우 null로 초기화 된다. 따라서 값이 0이라면, id가 0으로 저장됐음을 알 수 았다. 

 

출처:

https://www.inflearn.com/questions/260916