목록2025/03 (4)
enginner_s2eojeong

1. 엔티티 매핑 소개엔티티와 테이블 매핑@Entity: JPA가 관리하는 엔티티 클래스@Table: 엔티티와 매핑할 테이블 지정필수 어노테이션@Entity 필수기본 생성자 필요 (파라미터가 없는 public 또는 protected 생성자)2. 객체와 테이블 매핑@Entity@Entity가 붙은 클래스는 JPA가 관리하는 엔티티로 간주된다.주의사항final 클래스, enum, interface, inner 클래스 사용 X저장할 필드에 final 사용 금지@Entity 어노테이션속성기능기본값nameJPA에서 사용할 엔티티 이름을 지정한다.같은 클래스 이름이 없으면 가급적 기본값을 사용한다.클래스 이름을 테이블 이름으로 사용@Table엔티티와 매핑할 테이블 이름을 지정@Table 어노테이션속성기능기본값nam..

1. 영속성 컨텍스트 (Persistence Context)정의: JPA에서 영속성 컨텍스트는 엔티티 객체가 영구적으로 저장되는 환경을 말한다.EntityManger.persist(entity)로 엔티티를 영속성 컨텍스트에 저장할 수 있다.EntityManager를 통해 영속성 컨텍스트에 접근하고 이를 관리한다.엔티티의 생명주기를 관리하고 트랜잭션 내에서 엔티티의 상태를 자동으로 추적해준다.2. 엔티티 생명주기비영속 (Transient): 엔티티 객체가 새로 생성되었지만 영속성 컨텍스트에 의해 관리되지 않는 상태영속 (Managed): 엔티티 객체가 영속성 컨텍스트에 의해 관리되는 상태준영속 (Detached): 영속성 컨텍스트에서 분리된 엔티티로 더 이상 관리되지 않는 상태삭제 (Removed): 엔티..

1. 프로젝트 생성H2 데이터베이스 설치 및 실행최고의 실습용 DB별도의 툴 없이 웹 브라우저에서 간편하게 SQL 실행 가능시퀀스(Sequence), 자동 증가(AUTO INCREMENT) 기능 지원프로젝트 생성Java 8 이상 (Java 8 권장)Maven 설정- groupId: jpa-basic- artifactId: ex1-hello-jpa- version: 1.0.0라이브러리 추가pom.xml 4.0.0 jpa-basic ex1-hello-jpa 1.0-SNAPSHOT org.hibernate hibernate-entitymanager 5.3.10.Final ..

1. JPA 개요JPA(Java Persistence API)는 자바 진영의 ORM(Object-Relational Mapping) 기술 표준이다.SQL 중심적인 개발 방식의 문제를 해결하기 위해 등장했다.객체 지향 언어와 관계형 데이터베이스(RDB)를 연결하는 기술이다.2. SQL 중심 개발의 문제점반복적인 CRUD 코드:SQL을 직접 작성해야 하므로, 같은 패턴의 코드가 반복된다.필드가 추가될 때마다 모든 SQL을 수정해야 한다.객체와 RDB의 패러다임 불일치:상속 문제: RDB는 테이블 구조 기반이라 객체의 상속을 표현하기 어렵다.연관관계 문제: 객체는 참조를 사용하고 테이블은 외래 키를 사용하므로 매핑이 어렵다.데이터 타입 차이: 객체와 DB의 데이터 타입이 일치하지 않을 수 있다.데이터 식별 방..