본문 바로가기

개발중/Java Persistence API (JPA)

(27)
식별 관계와 비식별 관계 구분 식별 관계 / 비식별 관계 매번 많이 사용 되는데 확실한 개념은 매번 짚고 가려 하지만 매번 헷갈리는 식별 관계와 비식별 관계 제대로 정리하기 데이터베이스 테이블 사이에 관계는 외래 키가 기본 키에 포함 되는지 여부에 따라 식별 관계와 비식별 관계로 구분한다. DB TABLE을 설계할 때는 식별관계 OR 비식별관계 하나를 택해야 한다. 최근에는 비식별 관계를 주로 사용하고 꼭 필요한 곳에만 식별 관계를 사용하는 추세이다. JPA 는 식별관계와 비식별 관계 모두 지원한다. ✅ 식별 관계 식별 관계는 부모 테이블의 기본키를 내려 받아서 자식 테이블의 기본키 + 외래키를 사용하는 관계이다. ✅ 비식별 관계 비식별 관계는 부모 테이블의 기본키를 받아서 자식 테이블의 외래 키로만 사용하는 관계이다. - 필수적 비..
JPA - 어노테이션 정리 JPA 책을 읽다가 기록하고 내 것으로 만들고 싶은 부분 기록 😏 어노테이션 @JoinColumn 외래키를 매핑 할 떄 사용한다. @Column 객체 필드를 테이블 컬럼에 매핑 한다. @Enumerated 자바의 enum 타입을 매핑할 때 사용. @Temporal 날짜 타입을 매핑할 때 사용. @Lob 데이터 베이스 BLOB, CLOB 타입과 매핑한다. 더보기 @LOB 에는 지정할 수 있는 속성이 없다. 대신에 매핑하는 필드 타입이 문자면 CLOB 으로 매핑하고 나머지는 BLOB 으로 매핑한다. - CLOB : String, char[], java.sql.CLOB - BLOB : byte[], java.sql.BLOB @Transient 이필드는 매핑하지 않는다. 따라서 데이터 베이스에 저장하지 않고 조..
JPA / 객체 간 연관관계 매핑 - 기록 JPA 책을 읽다가 기록하고 내 것으로 만들고 싶은 부분 기록 ✅ DB Table 구성 CREATE TABLE MEMBER ( MEMBER_ID VARCHAR(255) NOT NULL , TEAM_ID VARCHAR(255) , USERNAME VARCHAR(255) , PRIMARY KEY (MEMBER_ID) ) ; CREATE TABLE TEAM ( TEAM_ID VARCHAR(255) NOT NULL , NAME VARCHAR(255) , PRIMARY KEY (TEAM_ID) ) ; ALTER TABLE MEMBER ADD CONSTRAINT FK_MEMBER_TEAM FOREIGN KEY (TEAM_ID) REFERENCES TEAM ; ✅ Class - Member class Member {..