연관관계 객체의 연관관계와 테이블의 연관관계는 서로 간극이 존재한다. 객체는 참조를 사용하여 연관된 객체를 찾는다. 테이블은 외래키를 사용하여 연관된 테이블을 찾는다. 따라서, ORM에서 "객체의 참조와 테이블의 외래키를 매핑" 하는 것이 중요하다. 양방향 연관관계에서는 연관관계의 주인 설정이 중요하다. 연관관계의 주인은 "외래키의 위치" 와 같다. Member 와 Team의 연관관계에서 주인은 외래키를 가지고 있는 "Member" 이다. 연관관계의 주인은 '주', 주인이 아닌 것은 '종'으로 표기하겠다. ex) 주(Member) / 종(Team) * 주(Member) -> 종(Team) 연관관계 * @ManyToOne : Member.class의 입장에서, Team.class를 본 관점. @JoinCo..
분류 전체보기
> 1. JPA 내부 동작 방식 2. Object - RDB : Mapping * Entity Mapping * 1. 'Object - Table' Mapping @Entity @Entity가 붙은 클래스 == JPA에서 관리하는 클래스 ※ 기본 생성자 필수 (피라미터가 없는 public, protected 생성자) @Table : 엔티티와 매핑할 테이블 지정 2. 'Field - Column' Mapping @Column : 컬럼 매핑 §주요 옵션 name : 필드와 매핑할 테이블의 컬럼 이름 nullable : null 값 허용 여부 unique : unique 제약 조건 columnDefinition : 데이터베이스 컬럼 정보를 직접 부여 @Enumerated : enum 타입 매핑 value = ..
* 패킷 캡쳐 * [1-1. 캐시 제거] 크롬 확장 프로그램 "Clear Cache"를 이용해서 캐시 제거 브라우저 오른쪽 상단 이미지 버튼 클릭. [1-2. 접속 대상 사이트 선정] ※ https = http (HyperText Transfer Protocol) + Secure(보안) https 는 보안 기능이 추가 되어있기 때문에, http를 사용하는 사이트를 대상으로 선택한다. "주의 요함" 문구가 써있으면, http 를 사용하는 사이트 사이트 선정 - http://www.basics.re.kr/ [1-3. TCP 3-Way Handshaking 과정 살펴보기] [패킷 캡쳐 시작하기] [나의 ip 주소 찾기] [ "http://www.basics.re.kr/" 사이트 접속 후 TCP 3-Way Ha..
1. 영속성 컨텍스트란? 영속성 컨텍스트는 "엔티티를 영구 저장하는 환경"을 의미한다. 영속성 컨텍스트는 '논리적인 개념' 이다. Entity Manager를 통해 영속성 컨텍스트에 접근 한다. 2. 엔티티의 상태 1. 비영속 (new / transient) 2. 영속 (managed) 3. 준영속 (detached) 4. 삭제 (removed) 3. 영속성 컨텍스트의 이점 [영속성 컨텍스트의 구성요소] [3-1. 1차 캐시] 로그를 보면, 순서가 이상한 것을 볼 수 있다. 코드를 보면 아래의 순서로 출력되어야 할 것 같다. 1. member 객체 생성 -> 출력 X 2. "==== BEFORE ====" 출력 3. DB 저장 쿼리 출력 (insert 문) 4. "==== AFTER ====" 출력 5...
[ 문제 발생 : 한글이 깨지는 오류 ] login.html 파일 내 한글이 깨지는 오류는 파일 인코딩 설정이 UTF-8 이 아닌 다른 것이기 때문이다. 파일 인코딩 설정을 UTF-8 로 바꿔보자. [ Properties(설정) ] [File encoding : 'MS949' -> 'UTF-8' 로 변경] [ 결과 : 한글 깨지는 오류 해결! ]
1. JPA 구동 방식 1. Persistence 가 설정정보조회 META-INF/persistence.xml 을 조회한다. 2. Persistence 가 EntityManagerFactory 를 생성 조회한 설정 정보를 바탕으로 EntityManagerFactory 를 생성한다. 3. EntityManagerFactory 가 EntityManager 를 생성 JPA 를 통한 데이터 조작 과정 1. persistence 가 'persistence.xml' 을 조회 하여, EntityManagerFactory 를 생성 2. EntityManagerFactory 가 EntityManager 를 생성 3. EntityManager 가 Transaction 을 가져옴 4. Transaction 내부에서 JPA ..