본문 바로가기

SpringDataJPA3

[TIL] 240418 Spring Data JPA 페이징 및 정렬 | Pageable, PageableDefault Spring Data에서 페이징 및 정렬 구현 Pageable 인터페이스를 이용하여 손쉽게 페이징, 정렬 처리 Pageable을 PageRequest 구현체로 구현 Spring Data JPA의 Query Method 파라미터를 전달해 페이징 및 정렬 처리가 완료된 데이터를 Page타입으로 반환 요청 파라미터: page: 현재 페이지, 0부터 시작 size: 조회할 데이터 수 sort: 정렬 조건, sort 파라미터 추가 가능 코드 예시 🔽 ProductController // 관심 상품 조회하기 @GetMapping("/products") public Page getProducts( @RequestParam("page") int page, @RequestParam("size") int size, @Re.. 2024. 4. 18.
[TIL] 240106 Spring Data JPA 파해치기 Spring Data 구조 스피링 데이터 Common과 스프링 데이터 JPA를 주로 사용 만약 Spring Data Jpa를 사용하지 않으면 순수 Jpa로 개발해야함. entity manager불러와서 persist 이런 식으로 JPA Repository 제한 하는 법 @RepositoryDefinition을 붙이는 것이 가장 많이 사용됨 인터페이스에 에너테이션을 붙인 뒤, 사용할 기능만 명시 pageDto.toPageable Pageable과 실제 페이지 사이의 -1문제를 해결하기 위해 PageDTO를 만들어서 해결 public class PageDTO { @Positive // 0보다 큰수 private Integer currentPage; private Integer size; private Str.. 2024. 1. 6.
[TIL] 231117 Spring Data JPA, JPA Auditing, Query Method, Entity의 상태 Entity의 상태 Transient (비영속)=> Managed (영속) persist(entity) : 비영속 상태의 entity를 영속성 컨텍스트에 저장하여 영속 상태를 만들어줌 Detached (준영속) detach() : 영속성 켄텍스트에 저장되어있던 Entity를 준영속 상태로 만들어줌 => DB에 업데이트 불가 - 영속성컨텍스트로 관리될 때만 업데이트가 이루어짐 clear() : 모든 영속성 컨텍스트 초기화 영속성컨텍스트에 있는 모든 엔티티를 준영속 상태로 만듦 내용은 비우지만 틀은 유지 merge() : Entity를 영속상태로 바꾸어줌 - Entity가 영속성컨텐스트에 없으면 DB조회, 있으면 내용 추가해서 저장 - DB에 없으면 새로 저장 Spring Data JPA Repository.. 2023. 11. 17.