본문 바로가기

강의 내용 정리/SpringBoot 개념정리

6강 - 영속성 컨텍스트란 무엇인가요?

 

1. JPA는 영속성 컨텍스트를 가지고 있다.

 

- 영속성 : 데이터 -> 영구적으로 저장(DB에)

 

 

- 컨텍스트 : context = 대상의 모든 정보  ( context=모든 것) 

 

 

 

 

- 영속성 컨텍스트 = 자바가 DB에 데이터를 저장해야되는 모든 것을 알고 있는 애

 

: 영속성 컨텍스트의 데이터와 DB의 데이터는 동기화 ( 삭제하면 삭제, 저장하면 저장 )

 

 

1. 자바에서 영속성 컨텍스트에게 과일데이터 요청

2. 영속성 컨텍스트는 DB의 과일데이터 요청, 응답

3. 영속성 컨텍스트에서 과일데이터Type을 자바object로 바꾸고 자바에게 돌려줌 ( 이때 DB의 과일 데이터와는 Type이 다름)

4. 이 때 3개의 과일데이터의 데이터는 일치 ( Type은 불일치 )

 

# 과일 데이터 변경 시

1. 자바프로그램에서 변경

2. 영속성 컨텍스트에서도 변경

3. 영속성 컨텍스트의 과일데이터와 DB의 과일데이터의 형상이 다르다 -> INSERT가 아닌 UPDATE

 

 

결론 : 자바가 DB에 저장, 수정, 삭제하는 모든 데이터는 영속성 컨텍스트가 다 들고있다.

 

 

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

2. JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공한다. ( DB는 객체 저장 불가능 )

   - ORM으로 해결가능 ( JPA가 자동으로 Foreign Key를 집어넣어준다 )

 

DB의 team, player 테이블
int teamID=1 만 보고 어느 팀인지 모른다. team 테이블에서 Select 해와야함
자바프로그램의 team, player 클래스

DB에 있을 때 속성은 원래 기본자료형만 들어갈 수 있지만( 자바는 객체 저장가능 ) Team객체를 넣어도 JPA의 ORM을 통해 DB에 테이블을 만들 때 자동으로 외래키를 심어줌

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 자료를 참고하였습니다.

 

 

꾸준히 다시보자.

 

1. 220729

2. 220812

3. 220830

4. 220927

Recent Posts
Popular Posts
Recent Comments