자바 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-프로그래밍