
| 항목 | long (기본 타입) | Long (참조 타입) |
|---|---|---|
| 타입 | 기본형(primitive) | 객체(참조형) |
| null 가능 여부 | ❌ null 불가능 (기본값 0) | ✅ null 가능 |
| 박싱/언박싱 | 없음 (기본값 계산) | 자동 박싱/언박싱 발생 |
| 메모리 | 스택에 저장 | 힙에 저장 (객체로 관리) |
| JPA에서 추천 | ❌ 안 씀 (기본 타입은 null 허용 안 돼서) | ✅ 대부분 이걸 씀 |
JPA는 필드의 값이 없음을 표현하기 위해 null을 사용합니다.
특히 PK(예: @Id)는 INSERT 전에 값이 없으므로, null 상태여야 합니다.
long은 null이 불가능하기 때문에, @GeneratedValue가 동작하지 않습니다