목차
Spring Data JPA 시작하기
JPA를 사용해 Repository 구성하기
스프링에서 EntityManager 는 다른 Bean들과는 다르게 PersistenceContext 어노테이션을 이용해 객체를 주입 받는다.
EntityManager 를 이용해 간단하게 CRUD를 구현할 수 있다.
- persist : Create
- remove : Delete
- find : Read
@Repository public class MemberRepository{ @PersistenceContext private EntityManager em;
public Member save(Member member){ em.persist(member); return member; }
public void delete(Member member) { em.remove(member); }
public Member find(Long id){ Member member = em.find(Member.class, id); 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); } }
|