본문 바로가기
Spring/DB연동

entity에서 원시타입 vs Wrapper클래스

by doriver 2025. 2. 22.

결정을 내릴 때 고려해야 할 주요 요소는 Nullability 이다. 

DB 컬럼 java entity 타입
NOT NULL 원시 타입( int )를 사용하는 것이 간단하고 효과적
NULL 값을 허용 null 처리와 관련된 버그를 피하기 위해 Integer를 사용

 

int: null 값을 가질 수 없으며, 초기화되지 않으면 기본값은 0입니다.
Integer: null 값을 가질 수 있습니다.

 

원시 타입과 래퍼 클래스 사이에서 선택할 때 고려해야 할 몇 가지 중요한 사항들

Overhead

int: 원시 타입이기 때문에 메모리 및 성능 면에서 추가적인 오버헤드가 없습니다.
Integer: 객체이므로 추가적인 메모리 및 성능 오버헤드가 있을 수 있습니다.

 

Boxing and Unboxing

자바에서는 원시 타입과 래퍼 타입 간에 자동 변환 (오토 박싱 및 언박싱)이 발생합니다. 이는 런타임에 약간의 성능 저하를 초래할 수 있습니다.

 

엔터티 변경 감지

JPA와 같은 ORM에서는 엔터티의 변경을 감지하기 위해 필드 값의 변경을 추적합니다. Integer와 같은 래퍼 타입의 경우, 두 개의 객체가 동일한 값을 가지더라도 다른 객체로 인식될 수 있어서 변경 감지에 영향을 줄 수 있습니다.

 

'Spring > DB연동' 카테고리의 다른 글

jpa에서 update  (0) 2025.03.29
@Transactional 01  (0) 2025.02.23
JPA Entity에 Validation  (0) 2025.02.22
Entity클래스 어노테이션  (0) 2025.02.20
JPA Entity 관련 01  (0) 2025.01.17