jpa를 이해하는데 가장 중요한 용어엔티티를 영구 저장하는 환경이라는 뜻EntityManager.persist(entity);엔티티 매니저를 통해 영속성 컨텍스트에 접근한다.영속성 컨텍스트와 전혀 관계가 없는 새로운 상태member 객체를 생성했을 뿐, 영속성 컨텍스트
객체와 테이블 매핑 : @Entity, @Table필드와 컬럼 매핑 : @Column기본 키 매핑 : @Id연관관계 매핑 : @ManyToOne,@JoinColumn @Entity가 붙은 클래스는 JPA가 관리하며, 엔티티라고한다.JPA를 사용해서 테이블과 매핑할 클래
📌요구사항회원과 팀 엔티티가 있다.회원은 하나의 팀에만 소속될 수 있고, 하나의 팀에는 여러명의 회원이 소속 될 수 있다.회원과 팀은 다대일 관계다.@ManyToOne : 다대일 관계임을 알려줌.하나의 팀에 여러멤버가 소속되므로 멤버가 N, 팀이 1이다.@JoinCo
다중성다대일(@ManyToOne)일대다(@OneToMany)일대일(@OneToOne)다대다(@ManyToMany)단방향, 양방향테이블 : 외래키 하나로 양쪽 조인 가능. 방향이라는 개념이 없다객체 : 참조용 필드가 있는 쪽으로만 참조가능. 한쪽만 참조하면 단방향, 양쪽
상속관계 매핑 관계형 데이터베이스는 상속 관계가 없다. 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속관계 매핑 : 객체의 상속 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 슈퍼타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 방법 각각
엔티티 사이에 공통 매칭 정보가 필요할 때 사용한다(예시에선 id, name) 📌 요구사항 누가 언제 생성했는지(createdBy, createdDate)누가 언제 마지막으로 수정했는지 (lastModifiedBy, lastModifiedDate) 에 관한 정보를
Team과 Member가 1:N으로 매핑된다고 가정해보자. 이때 Member를 조회할 때 Team도 함께 조회해야할까? 비즈니스 로직에서 Team을 필요로 하지 않을 때에는 꼭 TEAM도 같이 조회할 필요가 없다. ➡️ JPA는 이런 낭비(성능저하)를 하지 않기 위해
영속성 전이(CASCADE) 특정 엔티티를 영속 상태로 만들 때, 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 사용 ex) 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장 영속성 전이 - 저장 주의할 점 영속성 전의는 연관관계를 매핑하는 것과 아무 관련이 없
JPA의 데이터 타입 분류 1. 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 회원 엔티티의 키나 나이를 변경해도 식별자로 인식 가능 2. 값 타입 int, Integer, String처럼 단순히 값으로 사용하는 자
값 타입 컬렉션 값 타입을 컬렉션으로 넣어서 쓰는 것을 의미 @ElementCollection, @CollectionTable 사용 데이터베이스는 컬렉션을 같은 테이블에 저장할 수 없다. 일대다로 풀어서 별도의 테이블로 만들어야 한다. 컬렉션을 저장하기 위한 별도의
JPQLJPA CriteriaQueryDSL네이티브 SQLJDBC API 직접 사용, MyBatis, SpringJdbcTemplate 함께 사용가장 단순한 조회 방법EntityManager.find()객체 그래프 탐색(a.getB().getC())📌나이가 18살 이
JPQL은 객체지향 쿼리 언어다. ➡️ 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다.JPQL은 SQL을 추상화해서 특정데이터베이스 SQL에 의존하지 않는다JPQL은 결국 SQL로 변환된다.JPQL의 기본 문법과 쿼리API에 대해 알아보자 S
SELECT 절에 조회할 대상을 지정하는 것조회한 대상은 JPA가 영속성 컨텍스트로 관리한다프로젝션 대상 : 엔티티, 임베디드 타입, 스칼라 타입(숫자, 문자 등 기본 데이터 타입)Query 타입으로 조회Object\[] 타입으로 조회new 명령어로 조회단순 값을 DT
.(점)을 찍어 객체 그래프를 탐색하는 것상태 필드(state field) : 단순히 값을 저장하기 위한 필드(ex:m.username)연관 필드(association field) : 연관관계를 위한 필드단일 값 연관 필드 : @ManyToOne, @OneToOne,
Item : 부모객체Album, Movie, Book : 자식 객체조회 대상을 특정 자식으로 한정예) Item 중 Book, Movie를 조회하라자바의 타입 캐스팅과 유사(형변환)상속 구조에서 부모 타입을 특정 자신 타입으로 다룰 때 사용FROM, WHERE, SELE
실무에서 자주 사용되며 정말 중요하다SQL 조인 종류는 아니고 JPA에서 제공하는 기능JPQL에서 성능 최적화를 위해 제공하는 기능연관된 엔티티나 컬렉션을 SQL 한번에 함께 조회하는 기능join fetch 명령어 사용페치 조인 :: = \[LEFT OUTER|INNE
개인프로젝트에서 공공데이터 API를 이용하여 데이터를 가져올 일이 생겼다.특정시의 구와 동을 가져오고 싶어서, 행정동 데이터를 검색하기 시작했다.공공 데이터 포털(https://www.data.go.kr/index.do)에서 다양한 OPEN API를 찾아볼 수