[QueryDsl+DataJpa] QueryDslRepositorySupport 사용!
Uploaded by N2T
- 자바/QueryDsl
- · 2023. 11. 17.
스프링 데이터 JPA 의 페이징 과 정렬에 대해Sort 와 Pageable 2 가지의 특별한 파라미터 제공주요 기능Sort정렬 기능을 제공Pageable페이징 기능을 제공하고 내부적으로 Sort 를 포함함사용Pageable 의 사용Page findByPriceGreaterThan(float price, Pageable pageable);예제에서는PageRequest pageRequest = new PageRequest(0, 10, new Sort(Sort.Direction.DESC, "name")); Page result = memberRepository.findByNameStartingWith("김", pageRequest);이런식으로 요구하는데data jpa 3 에서는PageRequest pageRe..
Uploaded by N2T
개요@Query스프링 데이터 JPA에서 제공하는org.springframework.data.jpa.repository.Query어노테이셔느으로 레포 메서드에 직접 쿼리 정의가능이름 없는 Named 쿼리 라고 할 수 있다네요JPQL 로 사용해보기public interface MemberRepository extends JpaRepository { @Query("select m from Member m where m.name = :name") List findByName(@Param("name") String name); }// :name 에 ?1
벌크성 수정 쿼리한번의 연산으로 여러 행을 수정하는 쿼리JPA 와 스프링 데이타아 JPA 에서 모두 지원한다.JPA 사용그냥 보고 넘어간다int bulkPriceUp(String stockAmount) { String qlString = "update Product p set p.price = p.price * 1.1 where p.stockAmount < :stockAmount"; return em.createQuery(qlString) .setParameter("stockAmount", stockAmount) .executeUpdate(); }저런식으로 짜는건 싫다Data Jpa 사용@Modifying @Query(value = "update Item i set i.price = i.price *1...
프로젝션이란쿼리에서 특정 필드를 선택하는 과정원하는 데이터만 추출해서 성능 최적화 및 데이터의 가공을 용이하게 함.프로젝션 사용법단일 필드 프로젝션단일 컬럼을 선택시, 해당 타입으로 결과를 반환한다.예제@Test public void selectSingleProjection() { List fetch = qf.selectFrom(item) .select(item.name) .fetch(); System.out.println("fetch = " + fetch); } fetch = [item0, item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11, item12, item13, item14, item15, item16, i..
스프링 데이터 JPA 공통 인터페이스JpaRepositoryCRUD 및 추가적인 JPA 관련 기능을 제공하는 인터페이스이다.상속 구조: JpaRepository는 PagingAndSortingRepository와 CrudRepository를 확장합니다.JpaRepository 주요 기능CRUD 기능save(S entity): 엔티티 저장 또는 수정delete(T entity): 엔티티 삭제findOne(ID id): 엔티티 조회findAll(...): 모든 엔티티 조회, 정렬 및 페이징 가능추가 기능getOne(ID id): 엔티티 프록시 조회flush(): JPA 플러시 수행saveAndFlush(T entity): 저장 후 즉시 플러시deleteInBatch(Iterable entities), del..