JPA는 항상 엔티티 매니저를 통하여 등록/수정/삭제/조회 가 이루어진다.

 

 

 

- 등록

 

String id ="id1";
Member member = new Member();
member.setId(id);
member.setUsername("사용자");
member.setAge(20);

em.persist(member);

엔티티를 저장하려면 persist() 메소드에 저장할 엔티티를 넘겨주면 된다.

위의 코드는 INSERT 와 같은 기능을 하게 된다.

 

 

 

- 수정

 

member.setAge(20);

수정은 별도의 update()와 같은 메소드가 필요없이 set...()처럼 값만 변경해주면 가능하다.

위의 코드는 UPDATE 와 같은 기능을 하게 된다.

 

 

 

- 삭제

 

em.remove(member);

삭제는 remove(member) 메소드를 사용한다.

위의 코드는 DELETE 와 같은 기능을 하게 된다.

 

 

 

- 단건 조회

 

Member member = em.find(Member.class, id);

find() 메소드는 조회할 엔티티 타입과 @Id 로 데이터베이스 테이블의 기본키와 매핑한 식별자 값으로 조회한다.

위의 코드는 SELECT 와 같은 기능을 하게 된다.

'develop > JPA, Hibernate' 카테고리의 다른 글

엔티티 매핑, 기본키 할당 전략  (0) 2019.12.16
엔티티 매니저 설정, 생성과정  (0) 2019.11.24
데이터베이스 방언  (0) 2019.10.19
JPQL 이란? (querydsl)  (0) 2019.10.12
Hibernate 란?  (0) 2019.09.30

엔티티 매니저 생성 과정

 

 

- 엔티티 매니저 팩토리 생성

 

JPA응 시작하려면 첫번째로 persistance.xml의 설정 정보를 사용하여 엔티티 매니저 팩토리를 생성해야 한다. 이때 사용하는 클래스로 Persistance 를 사용하는데 이 클래스는 엔티티 매니저 팩토리를 생성해서 JAP를 사용할 수 있게 준비해준다.

EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook");

위와 같이 하면 META-INF/persistance.xml 에서 이름이 "jpabook"인 영속성 유닛 persistance-unit을 찾아서 엔티티 매니저 팩토리를 생성한다. 엔티티 매니저 펙토리를 생성하는 비용은 매우 크므로 애플리케이션 전체에서 딱 한번만 생성하고 공유해서 사용해야 한다.

 

 

 

- 엔티티 매니저 생성

 

EntityManager em = emf.createEntityManager();

엔티티 매니저 팩토리에서 앤티티 매니저를 생성한다. JPA의 기능 대부분은 엔티티 매니저가 제공한다. 대표적으로 엔티티 매니저를 사용해서 엔티티를 데이터베이스에 등록/수정/삭제/조회할 수 있다. 엔티티 매니저는 내부에 데이터소스를 유지하면서 데이터베이스와 통신하므로, 엔티티 매니저를 가상의 데이터베이스로 생각할 수 있다. 엔티티 매니저는 데이터베이스 커넥션과 밀접한 관계가 있으므로 스레드간에 공유하거나 재사용하면 안된다.

 

 

 

- 종료

 

사용이 끝난 엔티티 매니저와 엔티티 매니저 팩토리는 다음처럼 반드시 종료해야 한다.

em.close();		// 엔티티 매니저 종료
emf.close();		// 엔티티 매니저 팩토리 종료

 

 

 

- 트랜잭션 관리

 

JPA를 사용하면 항상 트랜잭션 안에서 데이터베이스를 변경해야 한다. 트랜잭션없이 데이터를 변경하면 예외가 발생한다.

 

'develop > JPA, Hibernate' 카테고리의 다른 글

엔티티 매핑, 기본키 할당 전략  (0) 2019.12.16
엔티티 매니저 등록/수정/삭제/조회 정리  (0) 2019.11.24
데이터베이스 방언  (0) 2019.10.19
JPQL 이란? (querydsl)  (0) 2019.10.12
Hibernate 란?  (0) 2019.09.30

+ Recent posts