Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- bomblab
- ubuntu이미지
- 벌크연산
- @Param
- clearAutomatically
- @Query
- docker에 ubuntu
- @Modifying
- Argos
- 회고
- 우아한테크코스 블랙잭
- Mock
- 자바 롬복
- 검색api
- 우테코
- 스프링부트배포
- jpa
- NonUniqueResultException
- 우아한테크코스
- 배포스크립트
- 밤랩
- SpringDataJPA
- 우아한테크코스5기
- 스프링 롬복
- 레벨인터뷰
- 영속성컨텍스트
- ubuntu
- BDDMockito
- unique result
- 우분투
Archives
- Today
- Total
Jeomxon's Tech Note
[Why?] id를 Long타입으로 사용하는 이유? 본문
엔티티 클래스에서 사용하는 id(자동으로 증가되는 등의 시퀀스), 즉 들어가는 id에 대해서 Long타입으로 쓰는 이유가 뭘까?
처음에는 그냥 int타입을 쓰면 되지 않나?하고 생각했는데 전혀 아니었다.
Wrapper Type인 Long을 쓰는 이유, 그것도 Integer가 아닌 굳이 Long을 쓰는 이유는 뭘까?
일단 int가 아니라 long을 쓰는 이유는 허용 범위가 더 크다는 점에서 추측을 할 수 있다.
하지만 왜 Wrapper Type을 사용하는지가 궁금했다.
일단 primitive Type에서는 기본 값이 0인데, 0이라는것이 실제로 id에 부여된 값이 0인지 아니면 값이 없다는 뜻인지 구분하기 어렵다.
하지만 Wrapper Type을 쓴다면 값이 없을 때는 null로 표시가 되기 때문에 primitive Type과 달리 값이 없을 때의 구분이 명확하다.
따라서 시퀀스가 들어가는 id값에는 Long타입을 주로 사용한다.
'Spring > Archive' 카테고리의 다른 글
[오류해결] Filter에 알 수 없는 요청이 걸렸던 이유 (2) | 2023.07.23 |
---|---|
[오류해결] javax.persistence.NonUniqueResultException: query did not return a unique result: 2 (0) | 2022.08.11 |
[오류해결] 검색 API 구현 도중 발생한 오류 (0) | 2022.07.10 |