목록IT 일기 (상반기)/JPA (4)
겉바속촉
목표 : 엔티티 매핑 뿌시기 • 객체와 테이블 매핑: @Entity, @Table • 필드와 컬럼 매핑: @Column • 기본 키 매핑: @Id • 연관관계 매핑: @ManyToOne,@JoinColumn 1. 객체와 테이블 매핑 @Entity • @Entity가 붙은 클래스는 JPA가 관리 • 엔티티라고 지칭 • JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수 • 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) • final 클래스, enum, interface, inner 클래스 사용X • 저장할 필드에 final 사용 X • 속성: name • JPA에서 사용할 엔티티 이름을 지정한다. • 기본값: 클래스 이름을 그대로 사용(예: Member) • 같은 클..
목표 : 애플리케이션 개발 테이블 생성 : Member 테이블 create table Member ( id bigint not null, name varchar(255), primary key(id) ); 1. 회원등록 : 데이터 넣어주기 public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); Member member = new Me..
목표 : 프로젝트 시작 데이터베이스 : H2 사용 - H2를 설치하고 강의 따라하는 데 콘솔창이 아예 열리지 않음 - h2.sh 실행해도 도대체가 열리지 않음 - h2.bat도 되지 않음 - jar 파일을 실행시켜보니 결국 콘솔창 볼 수 있었음 오예 - Embedded말고 Server로 설정 바꿈 IDE : IntelliJ 사용 - 빌드 관리 도구 : gradle 말고 maven 사용 라이브러리 추가 : pom.xml에서 dependency 추가 JPA 설정하기 : persistence.xml 파일 생성하여 작성 - jpa 설정파일 - src/main/resources/META-INF/persistence.xml - JPA 표준 속성 = javax.persistence로 시작 - 하이버네이트 전용속성 =..
목표 : JPA 알기 JPA - Java Persistence API - 자바 진영의 ORM 기술 표준 ORM - Object-relational mapping(객체 관계 매핑) - 객체는 객체대로 설계 - 관계형 데이터베이스는 관계형 데이터베이스대로 설계 - ORM 프레임워크가 중간에서 매핑 JPA의 성능 최적화 기능 1. 1차 캐시와 동일성 보장 - 같은 트랜잭션 안에서 같은 엔티티 반환 ( 조회 성능 약간 향상 ) - DB Isolation Level이 Read Commit이어도 애플리케이션에서 Repeatable Read 보장 2. 트랜잭션을 지원하는 쓰기 지연 - 트랜잭션 커밋 전까지 insert sql 모음 - jdbc 배치 sql 기능 사용해서 한번에 sql 전송 - 버퍼라이팅 3. 지연 로..