entity에서 id값을 Long으로 지정하는 이유
2024. 2. 20. 10:15ㆍ프레임워크(Framework)/Spring
스프링 강의를 듣던 중 id값을 int가 아닌 Long 타입으로 지정하는 이유가 궁금해서 정리해보려 한다.
id값을 int가 아닌 Long 타입으로 지정하는 이유에는 두 가지가 있다.
그 전에 알아야 할 것은 long과 Long에는 차이점이 있다는 것이다.
그 내용은 아래의 글을 참고하면 된다.
https://danii0110.tistory.com/171
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을 사용해도 무방하다.
'프레임워크(Framework) > Spring' 카테고리의 다른 글
[Spring] IntelliJ Live template (0) | 2024.04.18 |
---|---|
[Spring Boot] WebSecurityConfigurerAdpater 지원 안함 (0) | 2024.03.18 |
[JUnit5 오류] mustache 한글만 출력 오류 인코딩 오류 (0) | 2024.03.15 |
[Spring] @RequiredArgsConstructor이란? (0) | 2024.03.07 |
[Spring] 어노테이션(Annotation)이란? (0) | 2024.02.27 |