본문 바로가기
반응형

프로그래밍19

04장. Entity Mapping 04장. Entity Mapping 개요 JPA를 사용하는데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 것이다. 따라서 매핑 어노테이션을 숙지하고 사용해야 한다. JPA는 다양한 매핑 어노테이션을 지원하는데 크게 4가지로 분류할 수 있다. 객체와 테이블 매핑: @Entity, @Table 기본 키 매핑 : @Id 필드와 칼럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn 4장에서는 객체와 테이블 매핑, 기본 키 매핑, 필드와 칼럼 매핑에 대해 알아보고 연관관계 매핑은 5, 6, 7장에 걸쳐서 설명한다. 매핑 정보는 XML이나 어노테이션 중에 선택해서 기술하면 되는데 책에서는 어노테이션만 사용하겠다. 각각 장단점이 있지만 어노테이션을 사용하는 쪽이 점 더 쉽고.. 2022. 1. 18.
03장. 영속성 관리 개요 JPA가 제공하는 기능은 크게 엔티티와 테이블을 매핑하는 설계부분과 매핑한 엔티티를 실제 사용하는 부분으로 나눌 수 있다. 3장 영속성 관리에서는 매핑한 엔티티를 엔티티 매니저를 통해 어떻게 사용되는지 보여준다. 개발자 입장에서 엔티티 매니저는 엔티티를 저장하는 가상의 데이터베이스로 생각하면 된다. 엔티티 매니저 팩토리와 엔티티 매니저 데이터 베이스를 하나만 사용하는 애플리케이션은 일반적으로 EntityMangerFactory를 하나만 생성한다. 엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도 안전하므로 서로 다른 스레드 간에 공유해도 되지만, 엔티티 매니저는 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드 간에 절대 공유하면 안 된다. 영속성 콘텍스트란? JPA를 이해하는데 가.. 2022. 1. 14.
02. JPA 시작 JPA 시작 H2 데이터베이스 특징 RDBMS 초경량DB, 인메모리 DB 지원. (테스트의 용도로 주로 사용된다. 굳이 사용하려면 캐싱의용도) H2v1.4.199설치경로 H2 및 ch02-jpa-start1 프로젝트 테스트시 오류.. 맥os에서 H2 tcp연결이 안될경우, tcp(소) -> TCP(대문자) 로 변경. Table 'Member'not found 에러발생시, persistence에서 주석 해제로 임시 테스트 가능.(인메모리와 비슷한 느낌)(관련내용) 객체 매핑 CREATE TABLE MEMBER ( ID VARCHAR(255) NOT NULL, --아이디(기본 키) NAME VARCHAR(255), --이름 AGE INTEGER NOT NULL, --나이 PRIMARY KEY (ID) ) .. 2022. 1. 11.
01. JPA 소개 개요 & SQL을 직접 다룰때 발생하는 문제점. 관계형 데이터베이스를 사용하는 자바 애플리케이션 개발 시, SQL을 통한 데이터 처리는 매우 지루하고, 반복적인 작업이 되었다. 이에 생산성을 높이기 위한 방법으로 Mybatis(SQL은 직접 작성하나, 맵핑을 위한 편리한 방법을 지원함)나 스프링의 JDBC 같은 SQL매퍼를 사용해 코드를 많이 줄일 수 있었지만, 코드 작성뿐 아니라, 유지보수의 측면에서는 여전히 문제가 발생하였다. 테이블에 새로운 필드가 추가될 경우.. 아래와 같은 구조의 Member 테이블이 존재하고, Member테이블에 email필드 추가 시 발생하는 유지보수성 작업 예시. public class Member { private String memberId; private String .. 2022. 1. 8.
반응형