1. Spring Data JPA가 무엇인지 이해할 수 있다.
2. Spring Data JPA를 이용해 데이터를 저장, 수정, 조회, 삭제 작업을 할 수 있다.
3. JPA의 JPQL을 Spring Data JPA에서 사용할 수 있다.
- Spring Data JPA를 통한 데이터 액세스 계층 구현
✔︎ JPA
✔︎ Hibernate ORM
✔︎ Spring Data JPA
✔︎ Spring Data 패밀리 기술 중 하나로써, JPA 기반 데이터 액세스 기술을 좀 더 쉽게 사용하게 해줌
✔︎ Spring에서는 애플리케이션이 특정 기술에 강하게 결합되지 않도록 Spring이 추구하는 PSA(일관된 서비스 추상화)를 통해 개발자는 일관된 코드 구현 방식을 유지하고, 기술의 변경이 필요할 때 최소한의 변경만을 하도록 지원
✔︎ enum
필드 추가
✔︎ JpaRepository
를 상속하면 CrudRepository
기능을 포함한 JPA에 특화된 확장 기능들 사용 가능
✔︎ JPQL
@Query
애너테이션 패키지 경로import org.springframework.data.jdbc.repository.query.Query
@Query
애너테이션 패키지 경로import org.springframework.data.jpa.repository.Query
✔︎ Spring에서는 애플리케이션이 특정 기술에 강하게 결합되지 않도록 Spring이 추구하는 PSA(일관된 서비스 추상화)를 통해 개발자는 일관된 코드 구현 방식을 유지하고, 기술의 변경이 필요할 때 최소한의 변경만을 하도록 지원
☞ 개념을 학습하고 실습을 진행하는데 앞서 배운 연관 관계 매핑을 이용하는 것이 쉽지만은 않았다. 그렇지만 JPA의 가장 핵심적인 부분이기에 반복해서 학습을 진행해야겠다.
JDBC, Spring Data JDBC, Hibernate ORM, JPA, Spring Data JPA 등 비슷해보이는 내용들을 많이 접하면서 헷갈릴 수도 있었는데 학습 내용마다 조금씩 정리를 해줘서 공부하는 데에 수월한 부분이 있었던 것 같다.
(Spring Data JDBC와 Spring Data JPA는 Spring Data라는 패밀리 그룹에 포함되어 있고, Spring Data라는 추상화된 데이터 액세스 접근 방식으로 구성되어 있음, Spring Data JPA는 JPA 기반의 데이터 액세스 기술을 좀 더 쉽게 사용할 수 있게 해주기 때문에 데이터 액세스 계층 구현에 있어서 개발 시간을 좀 더 단축시켜줄 수 있다 등등 ...)
실습을 진행하면서 마음대로 안되는 부분도 많았지만, 많은 시간과 노력을 통해 결국 해결해냈다..! 그렇지만 아직 내 것으로 다 못만든 느낌... 주말을 이용해서 다시 한 번 처음부터 시도해봐야겠다.
・ 트랜잭션 개요
・ Spring Framework에서의 트랜잭션 처리