JPA (3) 썸네일형 리스트형 [스프링 부트 핵심 가이드] 9 : 연관관계 매핑 1) 두 엔티티 간 생성할 수 있는 연관관계 일대일 (One To One)다대일 (Many To One)일대다 (One To Many)다대다 (Many To Many)- DB에서는 컬럼에 외래키 속성을 주면 다른 테이블의 기본키를 얻을 수 있고, Join으로 참조할 수 있다. - JPA에서는 엔티티에서 참조 방향에 맞게 관계를 설정한다. 2) 관계 매핑 방향단방향: 한쪽이 다른 한쪽의 엔티티만 참조하는 관계양방향: 양쪽이 서로 참조할 수 있는 관계-> (일대일, 다대일, 일대다, 다대다) - (단방향, 양방향) 각 조합이 모두 나올 수 있다.-> 객체 지향 관점에서이며, 실제 DB에선 따로 방향이 없다. (외래키가 있는 쪽, 없는 쪽, 또는 다대다) 1.1. 일대일 (1:1) 단방향: 두 엔티티가 서로 .. [스프링 부트 핵심 가이드] 8 : Spring Data Jpa JPA Docs: https://docs.spring.io/spring-data/jpa/reference/index.html JPQL: 테이블이 아닌 객체를 대상으로 하는 쿼리문이며, 특정 DB에 종속되지 않는다. 쿼리 메서드: 식별자 기반으로 생성되는 메서드 외에 직접 만드는 메서드 - [주제By+컬럼+서술어(검색 및 정렬 조건)] 주제 (Subject)find, read, get, query, search, stream : 조회하는 기능으로 뒤에는 도메인(엔티티/테이블)명을 작성 (생략 가능) => Optional, List 등 리턴 가능exists : 조건에 맞는 데이터가 존재하는지 확인 => boolean 리턴count : 조건에 맞는 레코드의 개수를 리턴 => long 리턴delete, remo.. [스프링 부트 핵심 가이드] 6 : 스프링 데이터베이스 연동 1. ORM: 객체Object 관계Relation 매핑 -> Java의 객체와 RDB의 테이블을 직접 매핑시켜 사용한다. 장점쿼리를 직접 작성하지 않고 객체지향적으로 조작할 수 있다. -> 가독성을 높임재사용 용이, 유지보수 편리쿼리를 작성하지 않아 DB 종속성이 줄어든다.단점복잡한 쿼리를 작성하기 어려움 -> ORM만으로 복잡한 쿼리를 하려면 성능이 떨어질 수 있다.객체 - 관계 관점 불일치 발생세분성: 한 테이블에 여러 클래스(entity)가 매핑될 수 있다.상속성: 객체는 상속이 가능하지만 RDBMS는 상속이 불가능하다.식별성: RDBMS는 키로 각 데이터를 구분하지만 자바 객체는 키 변수가 같아도 다른 객체일 수 있다.연관성: db의 외래키를 삽입해 연관성을 표현하며 양방향 관계를 가지지만 객체는.. 이전 1 다음