[JPA] 02장. 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-프로그래밍