본문 바로가기
Back-end

Wrapper Type vs Primitive Type In JPA

by 신재권 2023. 9. 29.

Wrapper Type vs Primitive Type In JPA

Primitive Type

자바의 기본 자료형으로 int, long, boolean, char, short, byte, double, float 자료형이 존재한다.

특징으로 기본값으로 0이 들어가게 된다.

기본 데이터 타입으로 크기가 고정되어 있다.

Wrapper Type

기본 자료형을 객체로 다루기 위한 클래스이다.

즉, 객체로 래핑하여, 객체 지향 적인 기능을 활용 할 수 있다.

JPA Entity Field Type

@Entity
public class Member{
	@Id
	Long id;
}

여기서 Long 타입과 long 타입으로 선언하는 방법이 있다.

Long 타입을 선언해도, long 타입을 선언해도 동일하게 동작한다.

하지만 하이버네이트에서는 Long 타입을 권장한다. 즉, Wrapper 타입을 사용하는 것을 권장한다.

Long 타입은, 즉 Wrapper는 클래스 이므로 null 상태를 기본 값으로 가진다.

long 타입은, 즉 Primitive Type은 기본값으로 0을 가진다.

 

Primitive Type을 사용하면 절대로 null이 발생하지 않는다. 하지만 실제로 없는 상태인 Null 상태와 0을 구분할 수 없다.

즉, 없는 상태와 0을 확실하게 구분하기 위해 Wrapper Class를 사용하는 것을 권장한다.

'Back-end' 카테고리의 다른 글

JPA Entity 기본 생성자  (0) 2023.09.29
기본 키 할당 전략  (0) 2023.09.29
JPA  (0) 2023.09.20
Spring MVC  (0) 2023.09.15
@Bean, @Configuration  (0) 2023.09.14