JPA15 섹션 6. 확장기능 사용자 정의 리포지토리 구현스프링 데이터 JPA 리포지토리는 인터페이스만 정의하고 구현체는 스프링이 자동 생성스프링 데이터 JPA가 제공하는 인터페이스를 직접 구현하면 구현해야 하는 기능이 너무 많다.다양한 이유로 인터페이스의 메서드를 직접 구현하고 싶다면?JPA 직접 사용 ('EntityManager')스프링 JDBC Template 사용MyBatis 사용데이터베이스 커넥션 직접 사용 등등..Querydsl 사용 커스텀 인터페이스 생성 커스텀 인터페이스 구현체 생성 기존 리포지토리에 커스텀 인터페이스 상속아래처럼 쓰면 spring data jpa가 구현체 알아서 찾아서 묶어준다고 한다. (단 구현 클래스 네이밍 규칙 등 맞춰야 함) 번외로 JpaRepository 같은 것 상속 없이 리포지토리 따로.. 2024. 9. 30. 실전! 스프링 데이터 JPA - 5. 쿼리 메소드 기능 순수 JPA 페이징과 정렬 JPA에서 페이징을 어떻게 할 것인가? 다음 조건으로 페이징과 정렬을 사용하는 예제 코드를 보자 검색 조건 : 나이가 10살정렬 조건 : 이름으로 내림차순페이징 조건 : 첫 번째 페이지, 페이지당 보여줄 데이터는 3건 아래는 순수 JPA 페이징으로 정렬 MemberJpaRepository.javapublic List findByPage(int age, int offset, int limit){ return em.createQuery("select m from Member m where m.age = :age order by m.username desc") .setParameter("age", age) .setFirstResult(of.. 2024. 9. 29. 실전! 스프링 데이터 JPA / 섹션 4. 공통 인터페이스 기능 강의 진행 방식 : 먼저 JPA에서 이렇게 동작하는데 Spring Data JPA를 쓰면 이렇게 편하게 사용할 수 있어요. 라는 식으로 진행될 예정. Spirng Data JPA는 결국 JPA 기술을 활용해서 편하게 사용하는게 핵심.그래서 강의 방식은 JPA를 이렇게 편하게 바꿔주는게 스프링 Data JPA가 제공하는 역할이란 것을 파악하는 과정 공통 인터페이스 기능순수 JPA 기반 리포지토리 만들기스프링 데이터 JPA 공통 인터페이스 소개스프링 데이터 JPA 공통 인터페이스 활용 순수 JPA 기반 리포지토리 만들기순수한 JPA 기반 리포지토리 만들기기본 CRUD저장변경 -> 변경감지 사용삭제전체 조회단건 조회카운트참고 : JPA에서 수정은 변경감지 기능을 사용하면 된다.트랜잭션 안에서 엔티티를 조회한 .. 2024. 9. 27. 실전! 스프링 데이터 JPA / 3. 예제 도메인 모델 Spring Data JPA의 힘.- 인터페이스만 만들어주면 구현체를 Spring Data JPA가 다 만들어서 넣어준다. MemberRepository 코드랑 MemberJpaRepository 코드는 거의 동일하다.Spring Data JPA가 MemberJpaRepository_.java 에서 처럼 개발자가 직접 짜던 거를 Data JPA가 만들어서 넣어주는 것이라고 생각하면 된다. @ManyToOne(fetch = FetchType.LAZY) 어노테이션 부분에 외래키를 가질 엔티티의 'id' 값을 @JoinColumn 어노테이션으로 적어준다. ex : @JoinColumn(name = "team_id")Foreign Key가 없는 엔티티에(@OneToMany 부분) mappedBy.. 2024. 9. 26. 이전 1 2 3 4 다음