250x250
Notice
Recent Posts
Recent Comments
Link
관심쟁이 영호
[Spring Boot 기초] ㅣ 영속성 컨텍스트란? 본문
반응형
Context란?
어떠한 대상에 대한 모든 정보를 가지고 있는 것이 Context다.
그럼
영속성 Context란? 영원히 저장해야하는 Context를 말한다.
Spring에서의 영속성 Context는 이렇게 이해할 수 있다.
자바를 이용해서 데이터를 조회하거나 입력할 때, 직접적으로 DB에 요청하는 것이 아니다.
중간에 영속성 컨텍스트라는 것이 있고,
영속성 컨텍스트에 호출을 하게 되면 영속성 컨텍스트가 DB에 직접가서 받아오거나 입력한다.
왜 필요한걸까?
1. 트랜잭션을 지켜 "쓰기 지연"을 제공한다.
이 말은 어떠한 값을 입력할 때, Insert가 따로 동작하면 모든 것을 한번에 처리할 수 있도록 도와준다는 말이다.
모종의 이유로 따로 동작하다가 1개는 insert되고, 다른 하나는 insert가 되지 않으면 에러가 발생할 수 있기 때문이다.
2. 변경 감지
영속성 컨텍스트 내부의 어떠한 Object 값이 변경이 되면 그것을 자동으로 감지하여 DB까지 변경해준다.
3. JAVA와 DB간의 정보 동일성을 보장한다.
이렇게 생각할 수 있다.
4. 영속성 컨텍스트 지정하는 법
이것은 엔티티 매니저로 관리된다.
EntityManager em = new EntityManager();
이렇게 하게 되면 em 인스턴스에 영속성 컨텍스트를 주입한다.
그리고, Member 클래스를 입력하고 싶으면
em.persist(member) 라고 해주면 영속성 컨텍스트에 입력이 된다.
Etc. 영속성, 준영속, 불영속으로 나뉠 수 있다.
300x250
'Bank-End > Spring Boot' 카테고리의 다른 글
[Spring Boot 기초] 연관관계, 주인, 스프링 핵심! (0) | 2021.04.23 |
---|---|
[Spring Boot 기초] Board Table 생성 (0) | 2021.04.21 |
Spring Boot ㅣ JPA, ORM에 관해서 (0) | 2021.04.06 |
JSON이 무엇일까? (0) | 2021.04.05 |
[Spring Boot 기초]ㅣ 스프링 부트 ㅣ application.yml 설정 보기 (0) | 2021.04.04 |
Comments