본문 바로가기

전체 글51

[JPA] 연관관계 매핑 기초 본 게시글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 을 정리한 내용입니다. 연관관계가 필요한 이유 이전 강의 까지 객체에 외래키 를 직접 필드로 넣는 방식으로 설계를 하였지만 그런 방식은 객체지향적이라고 할 수 없다. JPA는 자바 표준 ORM 으로서 객체는 객체답게, 테이블은 테이블 답게 설계하기 위해 존재한다. 때문에 패러다임 불일치를 해결하기 위해 연관관계 매칭을 하여야한다. 참조 대신 객체가 외래 키를 그대로 사용하는 것은 객체 끼리의 연관관계가 없는 것과 같다. 객체를 테이블에 맞추어 모델링 하는 경우 아래와 같이 저장, 조회가 이루어지는데 이는 객체 지향적이라고 볼 수 없다. //팀 저장 Team team = new Team(); team.setName("TeamA"); e.. 2022. 7. 28.
[JPA] 엔티티 매핑 본 게시글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 을 정리한 내용입니다. 객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리한다 JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 가 필수 기본 생성자 필수 final 클래스, enum, interface, inner 클래스 사용X 저장할 필드에 final 사용X @Entity(name="Member") public class Memeber{ @Id private Long id; private String name; } name 속성을 통해 JPA에서 사용할 엔티티 이름을 지정할 수 있다. 같은 이름의 클래스가 있는 것이 아니면 가급적 기본값(클래스 이름 그대로)을 사용한다. @Table @Table은.. 2022. 7. 28.
[JPA] JPA 소개 1. JPA란? Java Persistence API 자바 진영의 ORM 기술 표준 1.1. ORM Object-relational mapping(객체 관계 매핑) 객체는 객체답게, RDB는 RDB 답게 설계하고 ORM 프레임 워크가 중간에서 매핑하는 것 대중적인 언어에는 대부분 ORM 기술이 존재 ORM은 객체와 RDB 두 기둥 위에 있는 기술 1.2. JPA 소개 EJB 엔티티빈(자바표준) -> 하이버네이트(오픈소스) -> JPA(자바표준) JPA는 표준 명세 JPA는 인터페이스의 모음 JPA 2.1 표준 명세를 구현한 3가지 구현체 : 하이버네이트, EclipseLink, DataNucleus JPA 버전 JPA 1.0(JSR 220) 2006년 : 초기 버전. 복합 키와 연관관계 기능이 부족 JP.. 2022. 7. 28.