cleanUrl: "/beginner-backend-study/subject/week4"
모두 이번 주 스터디도 수고하셨습니다!
특히 이번 주는 처음 들어보는 개념들이 많이 나와서 놀라셨을 수도 있을 것 같습니다 🥲
하지만 JPA를 사용하려면 영속성 컨텍스트
, 트랜잭션
모두 중요한 개념이다보니 이해가 안되신다면 여러번 돌려보시고, 추가로 더 찾아보시면서 꼭 숙지해주세요!
이번 스터디 내용을 간단하게 정리해보면 다음과 같습니다.
트랜잭션 = 데이터 조작하는 행위들에 대한 쪼갤 수 없는 큰 동작 단위. (@Transactional
)
엔티티 매니저 = 스프링 어플리케이션과 데이터베이스의 직접 적인 소통을 대신 해주는 객체
영속성 컨텍스트 = 스프링 어플리케이션과 데이터베이스 사이에 존재하는 임시 엔티티 보관 공간
데이터 생성 = em.persist() ( = 영속성 컨텍스트에 신규 엔티티 객체 등록)
데이터 조회 = em.find() (= 데이터베이스에서 엔티티 객체 조회)
데이터 수정 = 조회한 엔티티 객체를 수정하면 트랜잭션이 끝날 때 알아서 반영
데이터 삭제 = em.remove() (= 영속성 컨텍스트에 엔티티 삭제 표시)
이제 스터디 과제에 대해서 간단하게 설명을 드릴게요!
이번 스터디 과제는 지난 주 완성한 각각의 엔티티 클래스 (=테이블) 에 CRUD 를 수행하는 레포지토리 계층 코드를 각각 만들어주시는 게 과제입니다!