Programming/JPA & Spring Data JPA 기초26 25. 기타 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * count 메서드 갯수를 세는 쿼리(COUNT)를 실행하는 메서드이다. long count() : 전체 갯수를 센다. long countByNameLike(String keyword) long count(Specification spec) : 스팩으로도 셀 수 있다. * @Query 네이티브 쿼리 @Query 애너테이션에 JPQL이 아닌 SQL을 작성하고 실행할 수 있다. @Query( value = "select * from user u where u.create_date >= date_sub(now(), interval 1 day)", nativeQuery = true) // nativeQue.. 2023. 4. 18. 24. Specification을 이용한 검색 조건 지정 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * Specification 검색 조건을 생성하는 인터페이스다. Criteria를 이용해서 검색 조건을 생성한다. public interface Specification extends Serializable { @Nullable Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder); } 리포지토리 Specificatoin을 이용해서 검색 조건을 지정한다. List findAll(Specification spec) public interface UserRepository extends Repository { List.. 2023. 4. 18. 23. 정렬, 페이징, @Query 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * 정렬 1 find 메서드에 OrderBy를 붙인다. OrderBy 뒤에 프로퍼티 명을 붙이고 Asc / Desc를 붙인다. 여러 프로퍼티의 지정이 가능하다. List findByNameLikeOrderByNameDesc(String keyword); -> order by u.name desc List findByNameLikeOrderByNameAsc(String keyword); -> order by u.name asc List findByNameLikeOrderByNameAscEmailDesc(String keyword); -> order by u.name asc, email desc * 정렬.. 2023. 4. 10. 22. 리포지터리 메서드 작성 규칙 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * DB 연동 코드 구현 방법 Repository 인터페이스를 상속한다. 정해진 규칙에 따라 메서드를 추가한다. * 식별자로 엔티티 조회 findById T findById(Id id) 없으면 null을 반환한다. Optional findById(ID id) 없으면 empty Optional을 반환한다. public interface UserRepository extends Repository { Optional findById(String email); } * 엔티티 삭제 delete void delete(T entity) void deleteById(Id id) 내부적으로 findById()로 엔.. 2023. 4. 7. 21. Spring Data JPA 시작하기 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * JPA를 쌩으로 사용하지는 않는다 Spring Boot와 Spring Data JPA를 조합해서 (거의) 설정 없이 JPA를 Spring에 연동해서 사용한다. 자동 설정 persistence.xml EntityManagerFactory 초기화 스프링 연동 스프링 트랜잭션 연동 EntityManager 연동 * 사용법 spring-boot-starter-data-jpa dependency를 추가한다. 필요한 설정 자동 처리 JPA를 사용하기 위한 스프링 부트 설정을 진행한다. Repository 인터페이스를 상속 받은 인터페이스를 엔티티 단위로 생성한다. 또는 그 하위 인터페이스 지정한 규칙에 맞게.. 2023. 4. 6. 이전 1 2 3 4 ··· 6 다음 반응형