본문 바로가기

학습 일지130

[Spring Data JPA] 3. 쿼리 메소드 기능 쿼리 메서드 기능 메서드 이름으로 쿼리 생성 JPA NamedQuery @Query, 리포지토리 메서드에 쿼리 정의하기 @Query, 값, DTO 조회하기 파라미터 바인딩 반환 타입 순수 JPA 페이징과 정렬 스프링 데이터 JPA 페이징과 정렬 @EntityGraph JPA Hint & Lock 📌 메서드 이름으로 쿼리 생성 : 메서드 이름을 분석해서 JPQL 쿼리 실행 이름과 나이를 기준으로 회원을 조회하는 간단한 예제를 보자 순수 JPA 리포지토리 public List findByUsernameAndAgeGreaterThen(String username, int age) { return em.createQuery( "select m" + " from Member m" + " where m.userna.. 2023. 5. 19.
[Java 8] 함수형 인터페이스와 람다 함수형 인터페이스와 람다 함수형 인터페이스와 람다표현식 소개 자바에서 제공하는 함수형 인터페이스 람다 표현식 메서드 레퍼런스 📌 함수형 인터페이스와 람다 표현식 소개 함수형 인터페이스(Functional Interface) 추상 메서드를 딱 하나만 가지고 있는 인터페이스 SAM (Single Abstract Method) 인터페이스 @FuncationInterface 애노테이션을 가지고 있는 인터페이스 @FunctionalInterface public interface RunSomething { void doIt(); static void printName() { System.out.println("name"); }; default void printAge() { System.out.println(30).. 2023. 5. 18.
[Spring Data JPA] 2. 공통 인터페이스 기능 공통 인터페이스 기능 순수 JPA 리포지토리 만들기 공통 인터페이스 설정 공통 인터페이스 적용 공통 인터페이스 분석 📌 순수 JPA 기반 리포지토리 만들기 기본 CRUD 기능을 구현한다. Member 엔티티의 CRUD는 MemberJpaRepository 클래스, Team 엔티티의 CRUD는 TeamJpaRepository 클래스에 구현. 1. Create(저장) Member 저장 public Member save(Member member) { em.persist(member); return member; } Team 저장 public Team save(Team team){ em.persist(team); return team; } 2. Read(조회) Member 조회 public List findAl.. 2023. 5. 17.
[Spring Data JPA] 1. 예제 도메인 모델 예제 도메인 모델 1. 예제 도메인 모델과 동작확인 📌 예제 도메인 모델과 동작확인 Member와 Team 엔티티를 구현하고 연관관계를 테스트한다. 엔티티 클래스 Member 입장에서 다 수의 회원은 하나의 팀에 소속될 수 있다. → 다(N) 대 일(1) 관계 Team 입장에서 하나의 팀에는 다 수의 회원이 소속될 수 있다. → 일(1) 대 다(N) 관계 ERD 외래키(FK)는 Member가 갖는다. Member 엔티티 @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(exclude = "team") public class Member { @Id @GeneratedValue @Column(name = ".. 2023. 5. 17.