JPA가 제공하는 기능은 크게 두 가지이다.

🔥 엔티티 매니저 팩토리와 엔티티 매니저


데이터베이스를 하나만 생성하는 애플리케이션은 일반적으로 EntityManagerFactory 를 하나만 만든다.

<aside> 🌱 엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도 안전하다 → 공유 가능! but, 엔티티 매니저는 여러 스레드가 동시에 접근하면 동시성 문제가 발생한다!

</aside>

엔티티 매니저는 데이터베이스 연결이 꼭 필요한 시점까지 커넥션을 얻지 않는다.

엔티티 매니저는 데이터베이스 연결이 꼭 필요한 시점까지 커넥션을 얻지 않는다.