First of all why DTO???
-JPA 엔티티 객체는 단순히 데이터를 담는 객체가 아니라 실제 DB와 관련이 있고 내부적으로 엔티티 매니저가 관리하는 객체이다.
-DTO가 일회성으로 데이터를 주고받는 용도로 사용되는 것과 달리 생명주기도 전혀 다르다.
※ 서비스 계층에서는 DTO타입으로 받고 JPA처리를 위해서는 엔티티 타입의 객체로 변환해야 한다.
이제 DTO로 받은 정보를 엔티티로 변환해 JPA를 사용이 가능하다.
-코드설명-
1.화면에서 필요한 DTO
2. DTO를 Pageable으로 변환
3.Page<Entity.>를 화면에서 사용하기 쉬운 DTO리스트 변환
4. 화면에 필요한 페이지번호
ENTITY -> DTO
getList() 구현 (BooleanBuilder 나중에 사용)
목록데이터 페이지 처리
1. 끝번호=> tempEnd=(int)(Math.ceil(페이지번호/10.0)*10
2. 시작번호=> start =temEnd-9
1페이지의 경우 마지막 번호:Math.ceil(0.1)10 =10잠깐!
※ 끝번호는 실제 끝번호 와 다를수 있다
※page<엔티티 타입>의 getTotalPages() 를 사용하
자!
totalPage=result.getTotalPage(); //result= 는Page
end= totalPage > temEnd ? tempEnd : totalPage
next= toalPage>temEnd //다음(next)