EntityManager는 엔티티의 생명주기를 관리하고 엔티티와 관련된 모든 작업을 수행한다.
EntityManager
뜻
엔티티 매니저는 엔티티의 생명주기를 관리하고 엔티티와 관련된 모든 작업을 수행한다. 엔티티 매니저는 엔티티를 데이터베이스에 저장하거나 데이터베이스에서 엔티티를 읽어오는 등의 작업을 수행한다.
주요 기능
엔티티 매니저의 주요 기능은 다음과 같다:
- 저장: 엔티티를 데이터베이스에 저장한다.
- 조회: 데이터베이스에서 엔티티를 읽어온다.
- 수정: 데이터베이스에 저장된 엔티티를 수정한다.
- 삭제: 데이터베이스에서 엔티티를 삭제한다.
예제
|
|
@PersistenceContext
어노테이션을 사용하여 엔티티 매니저를 주입받을 수 있다. 엔티티 매니저를 사용하여 엔티티를 저장하거나 조회, 수정, 삭제하는 등의 작업을 수행할 수 있다. 엔티티 매니저는 트랜잭션 단위로 동작하며, 트랜잭션이 종료되면 엔티티 매니저가 자동으로 종료된다.
사용 예시 설명
위의 예제는 UserRepository
클래스에서 EntityManager
를 주입받아 User
엔티티를 관리하는 코드이다.
save
메서드는em.persist(user)
를 사용하여 새로운 유저 엔티티를 데이터베이스에 저장한다.findById
메서드는em.find(User.class, id)
를 통해 주어진 ID로 유저 엔티티를 조회한다.update
메서드는em.merge(user)
를 사용하여 기존 유저 엔티티를 수정한다.delete
메서드는em.remove(user)
를 통해 유저 엔티티를 삭제한다.
정리
- 엔티티 매니저는 엔티티의 생명주기를 관리하고 엔티티와 관련된 모든 작업을 수행한다.
- 엔티티 매니저는 트랜잭션 단위로 동작하며, 트랜잭션이 종료되면 엔티티 매니저가 자동으로 종료된다.
- 엔티티 매니저는
@PersistenceContext
어노테이션을 사용하여 주입받을 수 있다.