BackEnd/Spring & Spring Boot
entity에서 id값을 Long으로 지정하는 이유
danii0110
2024. 2. 20. 10:15
스프링 강의를 듣던 중 id값을 int가 아닌 Long 타입으로 지정하는 이유가 궁금해서 정리해보려 한다.
id값을 int가 아닌 Long 타입으로 지정하는 이유에는 두 가지가 있다.
그 전에 알아야 할 것은 long과 Long에는 차이점이 있다는 것이다.
그 내용은 아래의 글을 참고하면 된다.
https://danii0110.tistory.com/171
[JAVA] Long과 long의 차이
Long과 long이란? long이란? long은 기본 데이터 유형(=원시 데이터 유형)이다. long을 사용할 때 주의할 점은 long 데이터 유형의 값 뒤에 'L'을 작성하여 long 값을 나타내주어야 한다. 그렇지 않으면 컴
danii0110.tistory.com
id값을 int가 아닌 Long 타입으로 지정하는 이유
1. null 사용 가능
id값을 int, long이 아닌 Long으로 지정하는 이유 첫 번째는 null을 사용할 수 있기 때문이다.
int, long 자료형 같은 경우 primitive type이기 때문에 null값을 가지지 못한다. primitive type은 기본값이 0이 되는데, id가 없을 때를 나타낼 수 없다.
하지만 Wrapper 클래스인 Integer, Long 타입은 null값을 가질 수 있다.
2. 숫자 범위가 넓기 때문
Long과 Integer 중에서 Long을 쓰는 이유 두 번째는 표현범위 때문이다.
Long이 Integer보다 월등히 많은 수를 표현할 수 있기 때문에 Long을 사용한다.
int | 4바이트 | -231 ~ (231 - 1) |
-2,147,483,648 ~ 2,147,483,647 | ||
long | 8바이트 | -263 ~ (263 - 1) |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
물론 Integer의 범위로도 충분하다면 Integer을 사용해도 무방하다.