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객체를 넣어도 JPA의 ORM을 통해 DB에 테이블을 만들 때 자동으로 외래키를 심어줌
본 자료를 참고하였습니다.
꾸준히 다시보자.
1. 220729
2. 220812
3. 220830
4. 220927
'Java, Spring > SpringBoot 개념정리' 카테고리의 다른 글
8강 - HTTP가 무엇인지 궁금해요! (0) | 2022.06.28 |
---|---|
7강 - OOP 관점에서 모델링이란? (0) | 2022.06.28 |
5강 - ORM이란 무엇인가요? (0) | 2022.06.28 |
4강 - JPA란 무엇인가요? (0) | 2022.06.28 |
3강 - MessageConverter가 궁금해요!, BufferedReader, Writer (0) | 2022.06.28 |