이번 포스팅에서 엔티티 매핑의 핵심적인 역할을 하는 기본키(Primary Key)에 대해 살펴보겠습니다. 기본키는 데이터베이스에서 각 행을 식별하는 데 사용되는 고유한 식별자입니다. 이는 엔티티와 매핑된 객체를 고유하게 식별하고 관계를 맺을 때 중요한 역할을 합니다. @Id @Id는 엔티티의 주요 식별자를 표시하는 역할을 수행합니다. 즉 데이터베이스 테이블의 기본 키(pk)와 객체의 필드를 매핑시켜 줍니다. 일반적으로 @GeneratedValue와 같이 사용되며 @Id만 사용할 경우 기본 키를 직접 할당해주어야 합니다. @Id를 적용할 수 있는 타입은 다음과 같습니다. 자바 기본형 (int, long, ...) 자바 래퍼형 (Integer, Long, ...) String Date (java.util),..
이번 포스팅은 JPA(Java Persistence API)를 사용하여 엔티티 객체와 데이터베이스 테이블 간의 매핑, 그리고 엔티티 필드와 데이터베이스 컬럼 간의 매핑에 대해 살펴보겠습니다. JPA는 자바 객체와 관계형 데이터베이스 간의 매핑을 간소화하고 편리하게 처리할 수 있도록 도와줍니다. 객체와 테이블 매핑 @Entity JPA에서 엔티티(Entity)는 데이터베이스 테이블과 대응되는 하나의 클래스로 데이터의 집합을 의미합니다. JPA를 사용하여 데이터베이스 테이블과 매핑할 클래스는 반드시 @Entity를 붙여야 합니다. @Entity(name = "MEMBER") public class Member { private Long memberId; private String username; } 속성 ..
이번 포스팅은 영속성 컨텍스트에 대해 설명해보려고 합니다. 영속성 컨텍스트를 배우기 위해 먼저 EntityManagerFactory와 EntityManager를 알아야 합니다. EntityManagerFactory & EnitityManger란? EntityManagerFactory는 애플리케이션 전체에 단 하나만 생성되며 영속성 유닛과 연결을 설정하고 관리합니다. 이 과정에서 DB 커넥션 풀을 생성하게 됩니다. 그리고 클라이언트의 요청이 들어올 때마다 EntityManager를 생성하고, 각 EntityManager는 특정 작업을 수행하기 위해 사용됩니다. EntityManager는 영속성 컨텍스트를 관리하며, 이를 통해 엔티티 객체의 상태를 추적하고, 트랜잭션이 시작되는 시점에 EntityManage..