본문 바로가기

Spring/jpa

[spring data jpa] spring data common - web

도메인 클래스 컨버터

DomainClassConverter

스프링이 제공해주는 컨버터인데

컨버터는 하나의 타입을 다른 타입으로 변경시키는 인터페이스다.

자동으로 컨버터 레지스트리에 들어가있고 

어떤 데이터를 바인딩 받아서 컨버팅 할때 사용이 된다.

 

여기에 볼 크게 두가지의 Converter 가 있는데

하나는 ToEntityConverter, ToIdConverter가 있다.

엔티티를 엔티티의 아이디의 타입으로 변경하는 IdConverter

엔티티의 아이디를 받아서 엔티티 타입으로 바꾸는 EntityConverter

 

엔티티컨버터는 레포지토리를 찾아서 FindById 를 한다.

그래서 위 findById 코드가 자동으로 일어난다.

저 두줄을 생략할수있다.

 

참고) Formatter와 Converter 는 아주 비슷한데 차이점은 

Formatter 는 문자열 기반. 문자열을 어떤 타입으로 바꿀것인가의 차이다.

 

 

 

Pageable 과 Sort

 

스프링은 핸들러(메소드)에서 기본적으로 사용하는 메소드 파라미터들을 제공해주고있다.

거기에 추가로 확장을 할 수 있다. 

아규먼트리졸버에서 제공하는 파라미터들을 확장할수있다.

 

스프링 데이터 JPA의 웹 기능을 사용하면

Pageable 과 Sort 를 사용할수있다.

 

 

 

 

스프링 데이터 Common 정리

 

스프링 데이터 Repository의 계층 구조를 봤고 (인터페이스 계층구조)

 

쿼리 메소드 - 메소드 이름 보고 만들기와 이름 보고 찾기 (@Value)

 

커스텀한 레포지토리 만드는 방법 보고

Null 과 관련된 어노테이션들 봤다.

 

쿼리 메소드 정의 하는방법 봤고

베이스 리포지토리를 커스터마이징 하는 방법도 봤다.

 

도메인 이벤트를 퍼블리쉬하는 방법과

스프링 데이터 확장 하는 방법으로

QueryDSL 사용과 웹 지원 기능 들을 봤다.