Persistence context???

lsy·2022년 12월 26일

영속성 컨텍스트?

Persistence context를 공부하는데 이건 아무리 생각해도 영속성하곤 조금 거리가 멀다고 생각이 된다.

어느 정도의 맥락.. 그러니까 데이터를 DB에 영구히 저장하는데 쓰인다라는 의미에서는 어느 정도 들어맞지만 그것만 가지곤 이 context의 모든 행동을 설명할 수 없다.

예를 들어 Persistence context는 spring에서 발생한 하나의 transaction 내에서 entity를 캐싱하기도 하고, dirty check를 하기도 한다.

그러나 Persistence context는 트랜잭션이 끝나면 사라진다.

즉 Persistence context의 범위는 하나의 트랜잭션이다. 이것과 영속성을 관련 짓기는 무리가 조금 있는 것 같다.

따라서 나는 지속성 컨텍스트가 더 올바른 명칭이라고 생각한다.

그 이유는 첫 번째, 한 트랜잭션 범위 내에서 지속적으로 작동하며 entity를 관리하는 역할을 한다.

두 번째는 위에서 설명한 것과 같이 context에 저장된 데이터를 지속적으로 관리할 수 있도록 DB에 저장해준다.

결론

아직 취직도 못한 사람의 의견이긴 하지만..

지속성 컨텍스트라고 생각하면 모든 동작이 매끄럽게 이해된다.

단어를 영어에서 한국어로 번역하면 그 단어가 가지는 의미가 퇴색되거나 많이 색이 옅어지는 경우가 있는데 내 생각엔 이 경우가 그런 경우인 것 같다.

내 생각이 짧을 수도 있다.

profile
server를 공부하고 있습니다.

0개의 댓글