리스트 예시: 게시물이 존재할 경우 3건을 노출합니다.
-
개발 공부
영속성 컨텍스트? 1-1
영속성 컨텍스트의 정의 영속성 컨텍스트란 엔티티를 영구 저장하는 환경. persist() 메소드는 엔티티 매니저를 사용하여 엔티티를 영속성 컨테스트에 저장한다. 엔티티의 생명주기에는 4가지 상태가 있음. 각각 비영속, 영속, 준영속, 삭제 비영속 순수한 객체 상태. 영속성 컨텍스트나 DB와는 전혀 관련이 없음. // 객체를 생성한 상태 Member member = new Member(); member.setId("member1"); member.setUsename("회원1"); 영속 엔티티 매니저를 통해 영속성 컨텍스트에 저장. 영속성 컨텍스트가 관리하는 엔티티를 영속 상태라 함. 즉, 영속상태란 영속성 컨텍스트에 의해 관리 된다는 것. //객체를 저장한 상태(영속) em.persist(member); ..
-
개발 공부
JPA의 더티 체킹
JPA의 더티 체킹(Dirty Checking) 이터베이스의 엔티티 상태가 변경되었을 때 이를 자동으로 감지하여 업데이트하는 기능 JPA가 제공하는 영속성 컨텍스트의 한 기능으로, 엔티티의 상태를 관리하며, 트랜잭션이 종료될 때 변경된 엔티티를 데이터베이스에 자동으로 반영 함. 동작방식? 엔티티 조회 및 변경: 영속성 컨텍스트에 엔티티를 로드할 때, 해당 엔티티의 원본 상태를 스냅샷으로 보관 → 개발자가 엔티티의 상태를 변경하면, 이 변경 사항은 아직 데이터베이스에는 반영되지 않은 상태. 변경 감지: 트랜잭션이 종료되어 커밋되기 전, 영속성 컨텍스트는 엔티티의 현재 상태와 저장해둔 원본 스냅샷을 비교. 이 과정에서 변경된 부분을 감지 함. 더티 체킹 실행: 변경이 감지된 엔티티에 대해, JPA는 자동으로..
-
KPT 회고
TIL 뉴스피드 KPT 회고
Keep - 현재 만족하고 있는 부분 박하은 커밋 룰과 코딩 컨벤션 등 협업을 위한 협의가 선행 된 점. 손준형 기획의 중요성을 알고 초반에 많은 시간 투자를 하여 원활하게 개발이 진행될 수 있었다. 권승준 매일 아침, 저녁으로 팀원들과 소통하는 시간에 서로의 진행 상황, 어려운 부분 등을 공유해서 좋았다. 미리 Git Rule이나 역할 등 확실한 기획을 하고 프로젝트를 시작해서 좋았다. 유선아 - 기능 구현에 앞서 기획을 할때, 어떤 기능들을 구현할지 미리 정하고, ERD, API 를 같이 고민하면서 작성하고, Repository rule(coding convention 및 commit rule)을 먼저 정한 다음. 역할을 잘 나누고 시작해서, 각자 맡은 부분을 merge 할 때 충돌이 덜 나는 등 훨..