[JPA 프로그래밍 입문] 엔티티 클래스의 제약 조건 및 기본 기능

반응형

기본 생성자

인자를 가진 생성자가 필요하다면 반드시 기본 생성자도 함께 정의해야 한다. 기본 생성자의 접근 범위는 public 이나 protected이어야 한다. private일 경우 JPA의 특정 기능이 올바르게 동작하지 않을 수도 있다.

 

 

 

클래스 타입

엔티티는 클래스여야 한다. 인터페이스나 열거 타입으로는 엔티티 생성 불가

 

 

 

final

엔티티 클래스나 영속대상 필드는 final이면 안된다.

 

 

 


 

 

 

EntityManager의 엔티티 관련 기본 기능 (find, persist, remove …)

 

find() 메서드

entityManager의 find 메서드를 통해서 엔티티를 가져온다. 메서드의 첫번째 파라미터는 엔티티 클래스이며 두번째 파라미터는 키 값을 의미한다.

 

 

 

getReference() 메서드

find() 메서드와 비슷한 getReference 메서드는 실제 엔티티가 아닌 프록시 객체를 반환한다. 반환된 프록시 객체에 접근하게 되면 실제 쿼리를 실행한다.

 

 

 

persist() 메서드

persist 메서드는 영속성 엔티티에 엔티티를 보관한다.

 

 

 

remove() 메서드

영속성 컨텍스트에 삭제 대상 엔티티를 추가하며 실제 커밋 시점에 해당 엔티티를 영속성 컨텍스트에서 삭제한다.

 

 

 

엔티티 수정

트랜잭션 범위 내에서 변경된 영속성 객체를 실제 DB에 반영한다. (더티 체킹)

 

 

 

식별자 생성 방식

  • 식별 컬럼 방식
  • 시퀀스 방식
  • 테이블 방식
반응형

'기타 > 독서' 카테고리의 다른 글

[JPA 프로그래밍 입문] 엔티티(Entity)  (0) 2022.11.23

댓글

Designed by JB FACTORY