Reference. 자바 ORM 표준 JPA 프로그래밍
책 목차 및 이전 글
더보기
- 엔티티 매니저: 저장, 수정, 삭제 조회 등 엔티티 관련 모든 일 처리
- EntityManagerFactory
- META-INF/persistence.xml의 정보를 바탕으로 생성
- 생성비용이 커서, 한개만 만들어서 애플리케이션 전체 공유하도록 설계
- 여러 스레드가 동시 접근해도 안전, 다른 스레드간 공유 가능
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="jpabook">
...
</persistence-unit>
</persistence>
//공장 만들기, 비용이 아주 많이 든다. (실행할 때, 한번만 하는게 좋음?)
EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook");
- EntityManager
- 생성 비용이 거의 들지 않음
- 여러 스레드가 동시 접근하면 동시성 문제 발생. 스레드 간 절대 공유X
- 데이터베이스 연결이 꼭 필요한 시점까지 커넥션을 얻지 않음 → 트랜잭션을 시작할 때 커넥션을 획득
//공장에서 엔티티 매니저 생성, 비용이 거의 안든다.
EntityManager em= emf.createEntityManager();
- JPA 구현체들(하이버네이트, 등)은 EntityManagerFactory를 생성 할 때, 커넥션 풀도 생성
→ persistence.xml에 데이터베이스 접속 정보를 설정
'개발서적 > 자바 ORM 표준 JPA' 카테고리의 다른 글
[자바 ORM 표준 JPA 프로그래밍] 3.3 엔티티의 생명주기 (0) | 2021.07.28 |
---|---|
[자바 ORM 표준 JPA 프로그래밍] 3.2 영속성 컨텍스트란? (0) | 2021.07.28 |
[자바 ORM 표준 JPA 프로그래밍] 2. JPA 시작 (0) | 2021.07.23 |
[자바 ORM 표준 JPA 프로그래밍] 1.3 JPA란 무엇인가? (0) | 2021.07.23 |
[자바 ORM 표준 JPA 프로그래밍] 1.2 패러다임의 불일치 (0) | 2021.07.23 |