일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- javascript
- 장고독학
- nomadcoder
- 영속성 컨텍스트
- clonecoding
- 매핑
- ORM
- SBERT
- frontend
- 노마드코더
- 단방향
- java
- React
- AWS
- python
- TODO
- JS
- css
- 바닐라js
- 다대일
- Django
- html
- 일대다
- web
- 플러시
- 장고
- 프론트엔드
- 트랜잭션
- 다대다
- JPA
- Today
- Total
목록매핑 (4)
꿈꾸는 새벽하늘
1. 상속 관계 매핑 관계형 데이터베이스에는 객체지향 언어에서 다루는 상속의 개념이 없지만 슈퍼타입 서브타입 관계 기법으로 모델링하면 상속 관계와 유사하게 매핑할 수 있다. 슈퍼타입 서브타입 논리 모델을 테이블로 구현할 때 3가지 방법을 선택할 수 있다. 각각의 테이블로 변환: 각각을 모두 테이블로 만들고 조회할 때 조인을 사용한다. JPA에서는 조인 전략이라 한다. 통합 테이블로 변환: 테이블을 하나만 사용해서 통합한다. JPA에서는 단일 테이블 전략이라 한다. 서브타입 테이블로 변환: 서브 타입마다 하나의 테이블을 만든다. JPA에서는 구현 클래스마다 테이블 전략이라 한다. 조인 전략 (Joined Strategy) 조인 전략은 엔티티 각각을 모두 테이블로 만들고 자식 테이블이 부모 테이블의 기본 키..
엔티티의 연관관계 매핑 시 고려사항 다중성: 다대일, 일대다, 일대일, 다대다 단방향, 양방향 연관관계의 주인 1. 다대일 다대일 관계의 반대 방향은 일대다 관계이고, 일대다 관계의 반대 방향은 항상 다대일 관계이다. 일(1), 다(N) 관계에서 외래 키는 다(N)쪽에 있으므로 객체 양방향 관계에서 연관관계의 주인은 항상 다쪽이다. 1) 다대일 단방향 [N:1] 회원은 Member.team으로 팀 엔티티를 참조할 수 있지만, 팀은 회원을 참조하는 필드가 없는 연관관계 // == 회원 엔티티 == // @ManyToOne @JoinColumn (name = "TEAM_ID")// Member.team 필드를 TEAM_ID 외래 키와 매핑 private Team team; 2) 다대일 양방향 [N:1, 1:..
방향(Direction): 방향은 객체관계에만 존재하고 테이블 관계는 항상 양방향이다. 단방향: 둘 중 한 쪽만 참조하는 것 양방향: 양쪽 모두 서로 참조하는 것 다중성(Multiplicity) 다대일(N:1) 일대다(1:N) 일대일(1:1) 다대다(N:M) 연관관계의 주인(Owner): 객체를 양방향 연관관계로 만들면 연관관계의 주인을 정해야 한다. 1. 단방향 연관관계 객체 연관관계 회원 객체와 팀 객체는 단방향 관계 객체는 참조(주소)로 연관관계를 맺는다. => a.getB().getC() 사용 테이블 연관관계 회원 테이블과 팀 테이블은 양방향 관계 테이블은 외래 키로 연관관계를 맺는다. => 조인(JOIN) 사용 A JOIN B 와 B JOIN A 모두 가능 객체 그래프 탐색: 참조를 사용해서 객..
예제 프로젝트를 공부하기 위해 먼저 IDE를 설치하고 프로젝트를 불러온 뒤, H2 데이터베이스를 설치한다. 프로젝트는 Maven > Existing Maven Projects를 통해 불러온다. H2 데이터베이스는 JVM 메모리 안에서 실행되는 임베디드 모드와 실제 데이터베이스처럼 별도의 서버를 띄워서 동작하는 서버 모드가 있다. 지금은 H2 데이터베이스를 서버 모드로 실행한다. 1. 라이브러리와 프로젝트 구조 JPA 구현체로 하이버네이트를 사용하기 위한 핵심 라이브러리는 다음과 같다. hibernate-core: 하이버네이트 라이브러리 hibernate-entitymanager: 하이버네이트가 JPA 구현체로 동작하도록 JPA 표준을 구현한 라이브러리 hibernate-jpa-2.1-api: JPA 2...