| 엔티티와 매핑 객체와 테이블 매핑 : @Entity, @Table기본 키 매핑 : @Id필드와 컬럼 매핑 : @Column연관관계 매핑 : @ManyToOne, @JoinColumn 12345678910111213141516171819202122232425262728293031323334353637383940414243@Entity// name과 age Column에 unique 제약조건 추가@Table(name="MEMBER", uniqueConstraints = {@UniqueConstraint( name = "NAME_AGE_UNIQUE", columnNames = {"NAME", "AGE"} )})public class Member { // 기본키 매핑 @Id @Column(name = "ID..
| 영속성 || 영속성 컨텍스트(persistence context) - 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리- 엔티티 매니저를 생성할 때 하나 만들어짐 -> 엔티티 매니저를 통해 영속성 컨텍스트에 접근할 수 있고, 영속성 컨텍스트를 관리할 수 있음- 트랜잭션을 커밋하는 순간 영속성 컨텍스트에 새로 저장된 엔티티를 DB에 반영 == .flush()- 영속 상태의 엔티티는 모두 영속성 컨텍스트의 내부 캐시(1차 캐시)에 저장- 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스와 같은 역할 - 조회한 엔티티만 영속석 컨텍스트가 관리 (임베디드 타입, 단순 필드는 X) || 장점 1차 캐시동일성 보장트랜잭션을 지원하는 쓰기 ..
| JPA(Java Persistence API) || JPA 요약 - 객체 모델과 관계형 데이터베이스 모델의 지향하는 패러다임 불일치를 해결- 반복되는 SQL 작성과 JDBC API 사용을 해결- SQL에 의존적인 개발을 해결 --> JPA는 엔티티 중심의 개발 (DB에 대한 처리는 JPA가)- 개발자는 데이터 중심인 관계형 데이터베이스를 사용해도 객체지향 애플리케이션 개발에 집중 - 자바 ORM 기술에 대한 API 표준 명세* ORM(Object-Relational Mapping): 객체와 관계형 데이터베이스를 매핑한다는 의미 (패러다임의 불일치 해결)- JPA는 애플리케이션과 JDBC 사이에서 동작 [애플리케이션 [JPA [JDBC API]]] [DB]- SQL을 개발자 대신 생성해서 DB에 전달-..