자바 ORM 표준 JPA 프로그래밍

02장. JPA 시작


  • 객체 매핑 어노테이션은 다음과 같은 것이 있다.
    • @Entity : 클래스와 테이블 매핑한다.
    • @Table : 엔티티 클래스에 매핑할 테이블 정보를 알려준다.
    • @Id : 기본키 컬럼을 매핑한다.
    • @Culumn : 필드를 컬럼에 매핑한다.
  • JPA는 또한 데이터베이스 방언을 해결해 준다.

💡 예시

  • 데이터 타입 : MySQL VARCHAR <-> ORACLE VARCHAR2
  • 다른 함수명 : SQL표준 SUBSTRING <-> ORACLE SUBSTR
  • 페이징 처리 : MySQL LIMIT <-> ORACLE ROWNUM
  • JPA 개발 코드는 엔티티매니저 설정, 트랜잭션 관리, 비지니스 로직으로 총 3가지로 나뉜다.

📌 01. 엔티티 매니저 설정

💎 엔티티 매니저 팩토리생성

  • Persistence.xml의 설정 정보를 바탕으로 엔티티 매니저 팩토리를 생성한다.

💎 엔티티 매니저 생성

  • 엔티티 매니저는 CRUD를 할 수 있게 도운다.
  • 또한, 데이터베이스 커넥션과 밀접한 관계가 있어서 스레드간에 공규하거나 재사용하면 안된다.

💎 종료

  • 엔티티매니저와 엔티티 매니저 팩토리를 종료한다.

📌 02. 트랜잭션 관리

  • JPA를 사용하면 항상 트랜잭션 안에서 데이터를 변경해야한다.
  • 비지니스 로직이 정상 동작하면 트랜잭션을 커밋하고, 실패하면 롤백을 해야하기 때문이다.

📌 03. 비지니스 로직

  • 트랜잭션 안에서 CRUD를 활용하여 데이터를 처리한다.
  • 물론, 하나 이상의 목록을 조회할 때나 복잡한 조회는 JPQL을 사용하여 코드를 작성한다.
  • JPQL은 엔티티 객체를 대상으로 조회한다면, SQL은 데이터베이스 테이블을 대상으로 조회한다는 것이 차이점이다.

#Women-in-Spring
#2024-11-완독-자바-orm-표준-jpa-프로그래밍

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글