트랜잭션 2

프로젝트 중 잘못된 테스트 바로잡기

✔️ 문제테스트를 하는데 자꾸 이상하게 예측값보다 -1 인 값이 나와서보니 테스트 코드를 잘 못 짜서 그런 것이였다. @Transactional과 @BeforeEach를 제대로 사용하지 않았기 때문이였다. 문제의 코드 @Slf4j@SpringBootTestclass FocusTimeJdbcRepositoryTest { @Autowired FocusTimeJdbcRepository repository; @Autowired FocusTimeJpaRepository jpaRepository; @Autowired MemberRepository memberRepository; @Autowired TransactionTemplate transactionTemplate;..

Back-End/Spring 2025.07.08

JPA - 영속성 관리

JPA 핵심객체와 관계형 데이터베이스 매핑영속성 컨텍스트  영속성 컨텍스트의미 : 엔티티를 영구 저장하는 환경 영속성 컨텍스트는 논리적인 개념엔티티 매니저를 통해 영속성 컨텍스트에 접근 J2SE 환경엔티티 매니저 1 : 1 영속성 컨텍스트J2EE, 스프링 프레임 워크같은 컨테이너 환경엔티티 매니저 N : 1 영속성 컨텍스트 🌿 엔티티의 생명주기비영속 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태new / transientex) 객체를 생성한 상태 영속영속성 컨텍스트에 관리되는 상태managedex) persist(객체);    - 객체는 영속상태이기에 관리 대상준영속영속성 컨텍스트에 저장되었다가 분리된 상태detached준영속 상태로 만드는 법 em.detach(객체)  // 특정 엔티티만 준영속 상..

Back-End/JPA 2024.07.01