Spring Data JPA - 시작하기

목차

Spring Data JPA 시작하기

JPA를 사용해 Repository 구성하기

스프링에서 EntityManager 는 다른 Bean들과는 다르게 PersistenceContext 어노테이션을 이용해 객체를 주입 받는다.
EntityManager 를 이용해 간단하게 CRUD를 구현할 수 있다.

  • persist : Create
  • remove : Delete
  • find : Read
@Repository
public class MemberRepository{
@PersistenceContext
private EntityManager em;

// Create
public Member save(Member member){
em.persist(member); // DB 에 데이터 저장
return member;
}

// Delete
public void delete(Member member) {
em.remove(member); // DB 에 저장된 데이터 삭제
}

// Read
public Member find(Long id){
Member member = em.find(Member.class, id); // DB 에 저장된 데이터 조회
return member;
}
}

스프링에서 제공하는 JpaRepository를 사용

스프링에서 제공하는 JpaRepository 를 사용하게 되면 기본적인 CRUD 기능을 만들어주기 때문에 보다 간편하게 데이터를 조회할 수 있다.

public interface MemberRepository extends JpaRepository<Member, Long> {
}
@SpringBootTest
@Transactional
@Rollback(value = false)
public class MemberRepositoryTest {

@Autowired
private MemberRepository memberRepository;

@Test
public void testMember(){
Member member = new Member("memberA");
Member savedMember = memberRepository.save(member);

Member findMember = memberRepository.findById(savedMember.getId()).get();
assertThat(findMember.getId()).isEqualTo(member.getId());
assertThat(findMember.getUsername()).isEqualTo(member.getUsername());
assertThat(findMember).isEqualTo(member);
}
}
Share