Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
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
more
Archives
Today
Total
관리 메뉴

채채

JPA의 Entity Id를 Long으로 사용하는 이유 본문

spring boot

JPA의 Entity Id를 Long으로 사용하는 이유

HChaeEun 2024. 1. 6. 19:52

figma 정리본

@Entity
public class Member { 

        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
    //...
}

Entity를 생성할 때 Id의 자료형은 왜 int나 long이 아니라 Long일까?

 

1. int에 비해 long은 숫자 범위가 넓다.

Id값은 주로 사용자를 식별할 때 쓰이므로 전 세계 인구로 예를 들어보자.

2024년 1월 6일을 기준으로 현재 세계 인구는 80억명이 넘는다.

int형은 전세계 사람들의 정보를 담지 못하지만, long형은 담을 수 있다.

2. nullable

int와 long과 같은 기본 타입(primitive type)은 기본값이 0이다.

만약 id가 nullable하고, id값이 입력되지 않았으면 기본적으로 0이 입력된다. 그 말은 즉, 실제 데이터 값이 0인지 null이 대체되어 0인지 데이터만 보고 구분할 수 없다는 것이다.

 

반면 Long과 같은 wrapper class는 값이 없을 경우 null로 입력된다.

따라서 위와같은 문제를 해결할 수 있다.

 

 

 

 

참고)

 

JPA Entity클래스에서 id를 int가 아닌 Long 타입으로 하는 이유

현재 면접 스터디를 진행 중에 있습니다. 개인 프로젝트 관련해서 받았던 질문들 중 대답을 잘하지 못했던 부분들은 따로 정리하고자 합니다. 질문 코드를 봤는데, 개인 프로젝트에서 엔티티 id

lealea.tistory.com

 

 

JPA Entity클래스에서 id를 int가 아닌 Long 타입으로 하는 이유

현재 면접 스터디를 진행 중에 있습니다. 개인 프로젝트 관련해서 받았던 질문들 중 대답을 잘하지 못했던 부분들은 따로 정리하고자 합니다. 질문 코드를 봤는데, 개인 프로젝트에서 엔티티 id

lealea.tistory.com