구현 기능

레포지토리

기본

@Repository
public class MemberRepository {
	
	@PersistenceContext
	private EntityManager em;
}

기본기가 중요하기 때문에 interface로 JpaRepository를 상속 이용하는 스프링 데이터 JPA 를 사용하지 않고 JPA만으로 구현해 볼 것이다.

@Repository
public class MemberRepository {

	@PersistenceContext
	private EntityManager em;

	public void save(Member member) {
		em.persist(member);
	}

	public Member findOne(Long id) {
		return em.find(Member.class, id);
	}

	public List<Member> findAll() {
		return em.createQuery("select m from Member m", Member.class)
				.getResultList();
	}

	public List<Member> findByName(String name) {
		return em.createQuery("select m from Member m where m.name = :name", Member.class)
				.setParameter("name", name)
				.getResultList();
	}
}