반응형
JpaMemberRepository.class
package hello.hellospring.repository;
import hello.hellospring.domain.Member;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.Optional;
public class JpaMemberRepository implements MemberRepository{
private final EntityManager em;
public JpaMemberRepository(EntityManager em){
this.em = em;
}
@Override
public Member save(Member member) {
em.persist(member);
return member;
}
@Override
public Optional<Member> findById(Long id) {
Member member = em.find(Member.class, id);
return Optional.ofNullable(member);
}
@Override
public Optional<Member> findByName(String name) {
List<Member> result = em.createQuery("select m from Member m where m.name = :name", Member.class)
.setParameter("name", name)
.getResultList();
return result.stream().findAny();
}
@Override
public List<Member> findAll() {
return em.createQuery("select m from Member m", Member.class).getResultList();
}
}
반응형
'Spring' 카테고리의 다른 글
[Spring] 회원 웹 기능 등록 (0) | 2022.07.01 |
---|---|
[Spring] 자바코드로 직접 스프링 빈 등록하기 (0) | 2022.07.01 |
[Spring] Component Scan을 통한 의존관계 설정 (0) | 2022.07.01 |
[Spring] 회원 서비스 테스트 (0) | 2022.06.30 |
[Spring] 테스트 케이스 작성 (0) | 2022.06.30 |