DB

조회용 샘플 package jpabook.jpashop; import jpabook.jpashop.domain.*; import jpabook.jpashop.domain.item.Book; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; import javax.persistence.EntityManager; @Component @RequiredArgsConstructor public class InitDb { pr..
Entity, DTO, DAO, VO 1. Entity DB 테이블과 매핑되는 클래스 2. DAO(Data Access Object) DB를 사용해 데이터를 조회하거나 조작하는 기능을 하는 오브젝트 서비스와 DB사이에서 데이터를 옮기는 역할 -> 즉, 쿼리를 날려 데이터를 가져오거나 저장 DB에 로그인, 입력, 받아오기, 수정, 삭제 등의 작업들을 정의한 클래스 JPA Repository객체들이 일반적으로 DAO 역할을 함 3. DTO(Data Transfer Object) 계층간 데이터 교환을 위한 객체 DB에서 얻은 데이터를 Controller나 Service 로직에서 사용하기 위한 객체 로직 없이 데이터와 getter, setter만 존재 Request, response용 DTO: View를 위한 ..
h2DB를 띄워놓고 코드를 실행하는 와중에 에러)SQL Error 23505가 발생하는 문제가 생겼다. 찾아보니 h2버전과 하이버네이트(JPA) 버전 호환 관련해서 생긴 문제인것 같다. h2 1.4.200버전을 사용하면 하이버네이트 버전을 5.4.13.Final로 변경해주어야 한다. 해당 오류가 발생한 분들은 pom.xml파일에서 하이버네이트 버전을 변경해야 한다. 하이버네이트의 버전을 번경하기 싫다면 h2 버전을 1.4.199로 낮춰도 정상작동 한다.
연관관계 매핑 기초 1. 목표 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래 키를 매핑 2. 연관관계가 필요한 이유 객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다. -조영호(객체지향의 사실과 오해)- 예를 들어 member와 team이 있다고 가정 하나의 member는 하나의 team에 소속될 수 있고 하나의 team에는 여러 member가 소속될 수 있다.(다대일 관계) 객체를 테이블에 맞추는 모델링 참조 대신 외래 키 식별자를 직접 다룸 참조객체를 찾기 위해서는 member객체를 찾고 team의 식별자로 다시 조회 해야 한다.(즉 select문이 2번 발생) 객체를 테이블에 맞추어 모델링하면 협력관계를 만들수 없음. 테이블은 외래 키로 조인을 사용하여 연관된..
JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑 영속성 컨텍스트 엔티티 매니저 팩토리와 엔티티 매니저 고객 요청이 올때마다 웹 어플리케이션에서 미리 생성된 엔티티 매니저 팩토리가 엔티티 매니저를 생성하여 할당해줌. 엔티티 매니저는 DB connection pool을 사용하여 DB에 접근 영속성 컨텍스트 눈에 보이지 않음 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 J2SE 환경: 엔티티 매니저와 영속성 컨텍스트가 1:1 J2EE, 스프링 프레임워크 같은 컨테이너 환경: 엔티티 매니저와 영속성 컨텍스트가 N:1 엔티티의 생명주기 비영속 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 new로 객체를 생성한 상태 영속 영속성 컨텍스트에 관리되는 상태 persist로 객체를 영속성 컨텍스트에 ..
코드 미식가
'DB' 태그의 글 목록