Jpa 메모장

장원재·2024년 5월 2일
0

jpa

목록 보기
9/11

1. jpa 에서 같은 트랜잭션에서 데이터 동일성을 보장한다

    @Test
    @Transactional
    void testMember() {

        //given
        Member member = new Member("memberA");

        //when
        Member savedMember = memberJpaRepository.save(member);

        //then
        Member findMember = memberJpaRepository.find(member.getId());
        assertThat(findMember).isEqualTo(member);
    }
  • 위 코드는 하나의 트랜잭션상에 있기 때문에 findMembermember 가 같다.

2. 테스트 코드에서의 @Transactional

테스트 코드에서 @Transactional 를 적용한다면 (Jpa 사용시) 영속성 컨텍스트에 플러시를 날리지 않는다. 즉, DB에 데이터를 반영하지 않는다는 것이다. 만약에 테스트 코드 작성시 디비에 데이터가 잘 작성되었는지 확인하고 싶다면 @Rollback(false) 를 사용하도록 하자.

profile
데이터 분석에 관심있는 백앤드 개발자 지망생입니다

0개의 댓글

관련 채용 정보