EntityManager: JPA는 EntityManager로 동작한다. 스프링부트다 EntityManger를 자동으로 생성해주고 코드만 구현하면 된다. (DataSource 포함)
구현
java
@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();
}