
- 먼저 JDBC를 사용했을 때는 자바-DB 이렇게 데이터 주고받았다
- 하이버네이트의 등장으로 자바-하이버네이트-DB 이런 구조가 만들어졌다.
- 하이버네이트의 역할은 자바언어로 우리가 주면 하이버네이트 알아서 뚝딱!해서 원하는 정보를 DB에서 가져온후 ORM을 해서 준다
- 이때 하이버네이트의 내부 동작원리를 알려면 영속화를 알아야한다.
- 먼저 객체상태는 4가지가 있다.
- 순수객체를 persist()를 하면 영속객체가 된다.
- 영속된 객체는 persistance context라는 곳에 들어가 있다.
- 이때 save() 즉, 순수객체를 persist()를 하면, 영속성컨텍스트에 들어가게 되고 자동으로 flush()가 된다.
- 요순간 query문이 console에 찍힌다. 그리고 DB 테이블에 저장되고 바로 레코드와 영속성 컨텍스트는 동기화가 된다.
영속화에 대해서 정리를 하는 도중, 생각보다 정리가 되지 않는 것 같아서 따로 적어 두려고 한다. 특히 merge()부분이 아직 이해가 되지 않은 것 같다.
강사님께서는 최종적으로는
- PK 존재 X : persis()
- PK 존재 O :
- 동일 : update()
- 비동일 : insert()
이렇게 이해하면 된다고 하셨는데 아직 내가 멍청하다!!! ㅎㅅㅎ
모르면 공부해야지 암, 모르면 죄임 죄
상남자 노래 : https://www.youtube.com/watch?v=AWECMaScS9s