Hello JPA 프로젝트 설정

ex1-hello-jpa/pom.xml

라이브러리 추가

JPA 설정하기 - persistence.xml

  • JPA를 사용하기 위한 설정 파일
  • ex1-hello-jpa/src/resources/META-INF/persistence.xml
  • 나중에 해당 JPA를 불러오기 위해 <persistence-unit name="hello"> 사용한다.
    name에 저장된 값으로 불러온다.
  • jpvax.persistence.~~~ : JPA 표준 속성, hibernate 뿐만 아니라 다른 라이브러리 사용 가능, 표준을 지킴.
  • hibernate.~~~ : hibernate 전용속성

필수속성

  • 접근 속성 지정
  • <property name="hibernate.dialect"value="org.hibernate.dialect.H2Dialect"/> :
    value에 사용할 방언 지정.

    데이터베이스 방언(Dialect)

    JPA는 특정 데이베이스에 종속 되지 않는다.
    각각의 데이터베이스에서 제공하는 문법과 함수에 맞춰줘야 하는데 이를 JPA에서 방언만 설정해주면 자동으로 방언에 맞게 Query를 짜준다.
    여기서 말하는 방언이란 특정 데이터베이스만의 고유한 기능을 말한다.

    Hello JPA - 애플리케이션 개발

    JPA 구동 방식

  1. persistence가 persistence.xml 에서 설정 정보 조회
  2. persiscence가 EntityManagerFactory를 생성,
    EntityManagerFactory는 DB당 하나씩 애플리케이션 로딩 시점에 딱 한번만 연결하며 만드는 순간 DB와 연결된다.
    애플리케이션 전체에
    서 공유된다.
    다 사용한 후 close를 해줘야한다.
  3. EntityManagerFactory가 각각의 EntityManager를 생성한다.
    EntityManager는 일괄적인 행동을 할때마다 하나씩 생성하는 일회용이다.
    쓰레드간 공유하지 않는다.

    JPA의 모든 데이터 변경은 트랜잭션 안에서만 발생한다.

객체와 테이블 매핑

객체에 @Entity 어노테이션을 설정해 JPA가 관리할 객체를 설정해준다.
데이터베이스의 PK와 매핑할 필드에 @Id 어노테이션을 설정한다.

profile
잘 살고 싶은 사람

0개의 댓글