기존의 테스트 파일에 @SpringBootTest, @Transactional 어노테이션만을 추가한다.
JPA : SQL도 JPA가 직접 만들어서 실행해주는 방식. SQL보다는 객체 중심의 설계에 더 집중할 수 있어 개발 생산성을 높여준다.
ORM : Object Relational Mapping . 객체와 relational database의 테이블을 매핑한다.
@Entity
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column("username")
private String name
}
private final EntityManager em;
public JpaMemberRepository(EntityManager em) {
this.em = em;
}
public Member save(Member member) {
em.persist(member);
return member;
}
public List<Member> findAll() {
return em.createQuery("select m from Member m", Member.class).getResultList();
}