Framework/JPA5 [JPA] JPA 상속 관계 매핑 전략 : 조인, 단일 테이블, 구현 클래스별 테이블 비교 및 주요 어노테이션 사용법 JPA 상속 관계 매핑 전략과 주요 어노테이션에 대해 알아보고, 조인 전략, 단일 테이블 전략, 구현 클래스별 테이블 전략을 비교하여 각각의 장단점을 설명확인해 보도록 합니다. 더 자세한 정보는 https://www.inflearn.com/course/ORM-JPA-Basic 김영한님 강의나 http://www.yes24.com/Product/Goods/19040233 책을 확인하시는 것이 좋습니다. 상속 관계 매핑 관계형 데이터베이스는 상속 관계가 없다. 관계형 디비 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속관계 매핑 : 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 왼쪽 논리모델 공통적인 속성 공통적인 데이터는 물품으로 두고 각각 음반 영화 책으로 서브타입으로 두는 .. 2023. 4. 15. [JPA] JPA 연관관계 매핑 - 단방향, 양방향, 주인 설정 및 mappedBy 속성 활용하기 JPA에서 연관관계 매핑의 중요 개념들, 단방향 및 양방향 연관관계, 양방향 연관관계에서의 주인 설정, mappedBy 속성, 객체 지향과 관계형 디비 두 가지 다른 패러다임 간에 오는 차이점등을 살펴봅니다. 그리고 그를 통해서 JPA를 사용한 객체 관계 매핑에 대해 효율적으로 접근해보도록 하겠습니다. 연관관계가 필요한 이유 ‘객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다.’ 조영호(객체지향의 사실과 오해) teamId → 외래키를 그대로 가져와버림 Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); member.setUsername("memeber1"); memb.. 2023. 4. 3. [JPA] 엔티티(Entity)매핑(객체-테이블, 필드-컬럼) 엔티티(Entity) 객체와 데이터 베이스 테이블 간 매핑, 엔티티(Entity) 필드와 컬럼간 매핑에서 사용하는 속성값들과 활용법들에 대해서 알아보도록 하겠습니다. 해당 글은 김영한님 ORM 책과 강의를 참고하여 정리하고 몇몇 내용을 추가하여 만들었습니다. 객체와 테이블 매핑 @Entity @Entity 가 붙은 클래스는 JPA 가 관리, 엔티티라고 하며 EntityClass를 DataBase Table과 Mapping 해줍니다. 주의할 점 기본 생성자 필수(파라미터 없는 public or protected) final 클래스, enum, interface, inner 클래스 사용 금지 저장할 필드에 final 필드 사용 x 🤔왜? 기본 생성자가 필요할까? hibernatesStartGuid 를 보면.. 2023. 2. 11. [JPA] 엔티티(Entity) 생명주기, 1차캐시, 변경 감지(Dirty-Checking) JPA에서 엔티티(Entity)의 생명주기와 , 1차 캐시(First-Level-Cache)와 1차 캐시가 갖는 장점들, 변경감지(Dirty-Checking)와 플러시(Flush())가 내부적으로 어떻게 동작하는지에 대해서 알아보도록 하겠습니다. 엔티티의 생명 주기 비영속(new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태입니다. Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); //객체만 생성한 상태 jpa와 아에 관계가 없음 영속(managed) 영속성 컨텍스트에 관리되는 상태 //상단 세줄은 비영속 상태. Member member = new Member(); member.setId.. 2023. 1. 30. [JPA] Persistence context(영속성 컨텍스트)와 EntityManager JPA와 ORM에 대한 간략한 정의와 JPA에서 중요한 영속성 컨텍스트(Persistence Context)와 엔티티 매니저(Entity Manager), 영속성 컨텍스트 타입(Persistence Context type), 영속성 컨텍스트(Persistence Context)의 장점등에 대해서 알아보도록 하겠습니다. JPA, ORM JPA는 ORM(Object–relational mapping)이며 객체 지향과 Database간 발생하는 차이를 매핑해줍니다. 즉 객체는 객체대로 설계하고 DB와의 차이점에 대해서는 ORM통해서 매핑하게됩니다. SQL중심적 개발에서 객체 중심으로 개발할 수 있게 되며 데이터베이스에 종속적이지 않게 됩니다. JPA는 JDBC API를 통해서 DB에 접근하며 java appl.. 2023. 1. 29. 이전 1 다음