Springboot/JPA
[JPA]
이영애님
2019. 12. 27. 12:31
@Entity
@Table
@Id
@Column
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Enumerated(EnumType.STRING):: enum 이름을 DB에 저장
** @OneToOne(fetch = FetchType.LAZY )
- Hibernate의 Session 객체(관리자 객체)가 도메인 객체를 처리하는 구조.
- Session 객체에는 영속성 컨텍스트를 포함한다.
- 영속성 컨텍스트는 Transaction과 1:1 연결되며, 하나의 트랜잭션이 작업하는 동안 변경사항이 저장된다.
- Transaction 종료시 영속성 컨텍스트의 내용은 저장소에 동기화(flushing)된다.
즉, Session 하나의 트랜잭션 동안 객체의 상태를 보관하는 캐시로 볼 수 있다.
[페치 전략] :: 데이터베이스에서 데이터를 가져 오는 전략
EAGER - 데이터를 즉시 가져오는 전략으로 즉시 로딩이라고 합니다.
LAZY - 데이터가 처음 액세스 될 때 가져오는 전략으로 지연 로딩이라고 합니다.
- eager : 현재도메인 조회시 지정도메인 동시 조회
- lazy : 지정도메인 사용시 지정도메인 조회
LazyInitializationException....
https://kingbbode.tistory.com/27