META-INF/persistence.xml@Entity: 해당 클래스를 테이블과 매핑한다고 JPA에게 알린다. → 엔티티 클래스@Table: 엔티티 클래스에 매핑할 테이블 정보를 알려준다. (생략시 클래스 이름 == 테이블 이름)@Id: 엔티티 클래스의 필드를 테이블
회원 조회용 SQL 을 작성한다.JDBC API 를 사용해서 SQL을 실행한다.조회 결과를 Member 객체로 매핑한다.여기서는 데이터를 하나 조회하고 결과를 매핑하였다. 그러나 개발이 계속되고 그에 따라 추가적으로 기능이 필요할 때마다 SQL을 작성하고 매번 그 결과
JPA 가 제공하는 기능은 크게 엔티티와 테이블을 매핑하는 설계 부분과 매핑한 엔티티를 실제 사용하는 부분으로 나눌 수 있다. 여기에서는 매핑한 엔티티를 엔티티 매니저를 통해 어떻게 사용하는지 알아보자.엔티티 매니저는 엔티티를 저장, 수정, 삭제, 조회하는 등의 엔티티
JPA를 사용하는데 가장 중요항 일은 엔티티와 테이블을 정확히 매핑하는 것이다. 따라서 매핑 애노테이션을 숙지하고 사용해야 한다. JPA는 다양한 매핑 애노테이션을 지원하는데 크게 4가지로 분류할 수 있다. 객체와 테이블 매핑: @Entity, @Table 기본 키 매
엔티티들은 대부분 다른 엔티티와 연관관계가 있다. 그런데 객체는 참조를 사용해서 관계를 맺고 테이블은 외래키를 사용해서 관계를 맺는다. 기본개념에서 보았듯 이 둘은 완전히 다른 특징을 가진다.객체 관계 매핑(ORM)에서 가장 어려운 부분이 바로 이 객체 연관관계와 테이
다대일 관계의 반대 방향은 항상 일대다 관계이고 일대다 관계의 반대 방향은 항상 다대일 관계다. DB 테이블의 일, 다 관계에서 외래키는 항상 다쪽에 있다. 따라서 객체 양방향 관계에서 연관관계의 주인은 항상 다쪽이다.양방향 연관관계는 항상 서로를 참조해야 한다.양쪽에
관계형 DB는 객체지향 언어에서 다루는 상속이라는 개념이 없다. 대신 슈퍼타입과 서브타입 관계라는 모델링 기법이 객체의 상속 개념과 가장 유사하다.슈퍼타입 서브타입 논리 모델을 실제 물리 모델인 테이블로 구현시 3가지 방법을 선택할 수 있다.각각의 테이블료 변환: 위의