본문 바로가기

전체 글83

[chapter 5] JPA - 연관관계매핑기초 JPA-Cha5 연관관계매핑기초 객체는 참조(주소)를 사용해서 관계를 맺고 테이블은 외래 키를 사용해서 관계를 맺는다. 객체 관계 매핑(ORM)에서 가장 어려운 부분이 바로 객체 연관관계와 테이블 연관관계를 매핑하는 일이다. 객체의 참조와 테이블의 외래 키를 매핑하는 것이 이 장의 목표이다. 연관관계 매핑 핵심 키워드 방향 단방향 회원 -> 팀 or 팀 -> 회원 둘 중 하나만 참고 하는 것 양방향 회원 -> 팀, 팀 -> 회원 모두 서로 참조하는 것 다중성 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 회원과 팀의 관계는 다대일 팀과 회원은 일대다 관계 연관관계의 주인 객체를 양방향 연관관계로 만들면 연관관계의 주인을 정해야 한다. 단방향 연관관계 연관관계 중에선 다대일(N:1).. 2020. 4. 23.
[chapter 4] JPA - 엔티티 매핑 JPA Chap4 엔티티 매핑 JPA를 사용하는데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 것이다. Jpa에서 엔티티 매핑은 크게 4가지로 분류 할 수 있다. 객체와 테이블 매핑 : @Entity, @Table 기본 키 매핑 : @Id 필드와 컬럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn Chap4에서는 객체와 테이블 매핑, 기본키 매핑, 필드와 컬럼 매핑에 대해서 정리되어있다. 연관관계 매핑은 5,6,7장에 걸쳐서 정리되어 있음. @Entity JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션을 필수로 붙여야 한다. @Entity : JPA가 클래스를 관리하겠다고 하는 어노테이션 name : JPA에서 사용할 엔티티 이름을 지정 (.. 2020. 4. 21.
[chapter 3] JPA - 영속성관리 #JPA Chap3 영속성 관리 JPA가 제공하는 기능은 크게 두가지로 나눌 수 있다. 엔티티와 테이블을 매핑하는 설계부분 엔티티를 실제 사용하는 부분 JPA는 엔티티를 사용하기 위해 엔티티 매니저를 사용한다. 엔티티 매니저는 엔티티를 저장하고, 수정하고, 삭제하고, 조회하는 등 엔티티와 관련된 모든 일을 처리한다. - ... EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); 하나의 데이터베이스는 하나의 엔티티 매니저 팩토리를 가진다. 엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도안전하므로 서로 다른 스레드 간에 공유해도 된다. EntityManager em = emf.createEntityManager();.. 2020. 4. 15.
[chapter 1] JPA 소개 [chapter 1] JPA 소개 @Flamme SQL을 직접 다룰 때 발생하는 문제점 패러다임의 불일치 JPA란 무엇일까? 정리 1. SQL을 직접 다룰 때 발생하는 문제점 현재 자바 개발자들 대부분은 JDBC API를 사용하여 SQL을 데이터베이스에 전달하는데 능숙하고 이것을 당연시 하고 있다. 이러한 이유로 자바 개발자들 대표적으로 1.1 반복, 반복 그리고 반복 1.2 SQL에 의존적인 개발 이러한 문제점에 부딛힌다. 1.1 반복, 반복 그리고 반복 Ibatis나 Mybatis를 쓸 떄 우리는 항상 CRUD에 해당하는 SQL문을 항상 반복적으로 생성한다. 그 이유는 데이터베이스가 객체 구조와는 다른 데이터 중심의 구조를 가지므로 객체를 데이터베이스에 직접 저장하거 직접 조회 할 수 없기 때문이다... 2020. 4. 13.