Spring 기초
- Entity
Entity는 JPA가 관리해주는 객체들을 의미하며 @Entity 로 JPA가 관리할 수 있게끔 해주고, @Table, @Column으로 해당하는 DB에 매핑을 시켜주어야 한다.
- 영속성 컨텍스트(Persistence Context)
영속성이란 Entity의 영구성을 보장한다는 개념으로 영속성 컨텍스트에 저장함(EntityManager.persist(entity)) 으로서 Entity를 영속화할 수 있다.
여기서 영속성 컨텍스트란 JPA에서 객체를 효율적으로 관리하기 위한 개념으로. EntityManger가 관리해준다.
Entity의 생명주기는 비영속, 영속, 준영속, 삭제 4가지 상태가 있고 디버깅해서 이캐저캐 하면 살펴볼 수 있다.
- 영속성 컨텍스트의 기능
1. 1차 캐시 : 캐시 기능을 제공한다(DB 조회수 감소). Transaction이 끝나면 다 비워지기 때문에 한 transaction 내에서만 성능이 좋다.
2. 동일성 보장(Identity) : 1차 캐시를 통해 DB row 당 1개의 객체를 보장한다.
3. 쓰기지연 저장소(Actionqueue) : 버퍼링 기능을 제공한다. 쿼리를 보낼 시의 설정을 통해 최적화가 가능하다.
4. 변경 감지(Dirty Checking) : persist되었을 때 최초의 Entity 값을 snapshot 으로 저장하고 flush 시점에 현재 값과 snapshot을 비교한다. 변경사항이 있을 시 쓰기지연 저장소에 update 쿼리를 넣어준다.
알고리즘
- 프로그래머스 : 전력망을 둘로 나누기(Level 2, 완전탐색)
느낀 점
최근에 진행하는 알고리즘 난이도가 낮아서 그런지 스프링 개념 공부보다 알고리즘이 재미있다 ㅎ.
그래도 내가 더 모자란 스프링을 더 열심히! 숙련주차 들어가기 전에 기초 복습하면서 확실히 잡고 들어가자.
'TIL' 카테고리의 다른 글
[23.11.09] (0) | 2023.11.09 |
---|---|
[23.11.08] (0) | 2023.11.08 |
[23.11.06] (0) | 2023.11.06 |
[23.11.03] (1) | 2023.11.03 |
[23.11.02] (0) | 2023.11.02 |