Spring Data JPA
Spring Data 패밀리(Spring Data JPA, Spring Data JDBC) 기술 중 하나로써, JPA 기반의 데이터 액세스 기술을 좀 더 쉽게 사용할 수 있게 해준다.
JPA vsvHibernate ORM vs Spring Data JPA
- JPA
- JPA는 엔터프라이즈 Java 애플리케이션에서 관계형 데이터베이스를 사용하기 위해 정해 놓은 표준 스펙(사양 또는 명세, Specification)이다.
- Hibernate ORM
- Hibernate ORM은 JPA라는 표준 스펙을 구현한 구현체이다.
- Spring Data JPA
- JPA 스펙을 구현한 구현체의 API(일반적으로 Hibernate ORM)를 조금 더 쉽게 사용할 수 있도록 해주는 모듈이다.
JPA에서의 리포지토리 인터페이스 구현
- JpaRepository 인터페이스를 상속받아서 구현한다.
- CrudRepository를 상속받아도 되지만, JPA에 특화된 기능들이 JpaRepository에 더 많이 포함되어있다.
- JpaRepository를 상속하면 CrudRepository 기능을 포함한 JPA에 특화된 확장 기능들을 사용할 수 있다.
Optinal 클래스의 isPresent() / ifPresent()
-
isPresent()
- boolean형
- 기능은
* != null
과 거의 똑같다.
- 값이 null이 아니면 true, 값이 null이면 false
-
ifPresent()
- void, 즉 반환 타입이 없다.
- 기능은
if(* != null) {~~}
과 거의 똑같ㅌㄷ아.
- 즉, 값이 null이 아니면 실행, 값이 null이면 실행하지 않는다.