스프링 데이터 JPA

데이터 접근 계층(Data Access Layer)은 CRUD라 부르는 입력,수정,삭제,조회 코드를 반복해서 개발해야 함.

JPA도 같은 문제가 있음.

public class MemberRepository {

    @PersistenceContext
    EntityManger em;

    public void save(Member member) {...}
    public Member findOne(Long id) {...}
    public List<Member> findAll() {...}

    public Member findByUserName(String #username) {...}
}

public class ItemRepository {

    @PersistenceContext
    EntityManager em;

    public void save(Item item) {...}
    public Item findOne(Long id) {...}
    public List<Member> findAll() {...}
}
  • 회원 Repository와 Item Repository가 하는 일이 비슷.
  • 공통 부분을 해결하기 위해 제너릭과 상속을 이용해 부모클래스를 만든다.
  • 이를 GenericDAO 부름. 부모 클래스 종속, 구현 클래스 상속을 갖는 단점.

results matching ""

    No results matching ""