728x90

spring data JPA 15

[TOY] 개발 - Domain

Domain 패키지 개발 진행상황을 작성하는 글로 각 도메인의 domain 패키지 아래 개발입니다.UserPostCommentPhotoBaseEntityUserUser 아래 domain 패키지 개발입니다. model 패키지 아래 User 엔티티와 유저의 역할 Enum 클래스가 존재하고 repository 패키지 아래 UserRepository가 존재합니다. class UserUser 엔티티 클래스입니다. Builder 패턴을 사용을 위해 @Builder 어노테이션을 사용하였습니다. modify 메서드로 변경감지를 통한 수정을 수행합니다.@Entity@Table(name = "users")@Getter@Builder@AllArgsConstructor@NoArgsConstructor(access = Acce..

[Spring] Querydsl DTO & 동적 쿼리

Querydsl DTO 조회Querydsl 사용하여 결과로 DTO를 반환할 때 사용하는 방법프로퍼티 접근JPAQueryFactory를 사용하여 쿼리를 실행한 후 select 절에서 DTO의 getter 메서드를 호출Projections.bean()를 select절에 사용하여 Getter 호출을 위한 프로퍼티 작성DTO에 Getter와 Setter가 존재해야 함 필드명과 Getter, Setter 명이 같아야 함 //프로퍼티 접근List users = queryFactory .select(Projections.bean(UserDTO.class, QUser.user.name, QUser.user.age)) .from(QUser.user) .fetch(); 필드 접..

백엔드/Spring 2024.09.26

[Spring] Spring Data Jpa 확장 기능

Spring Data Jpa 확장 기능Spring Data Jpa는 여러 가지 확장된 기능들을 제공사용자 정의 Repository스프링 데이터 JPA가 제공하는 인터페이스를 직접 구현하려면 구현해야 하는 기능이 너무 많음개발자가 직접 구현한 메서드를 추가하여 사용하기 위한 방법사용 방법사용자 정의 메서드를 선언하는 인터페이스 생성사용자 정의 인터페이스를 상속받는 구현체 생성구현체 내 직접 필요한 메서드를 구현JpaRepository를 상속받아 Spring Data Jpa를 사용하는 Repository 클래스에서 추가로 사용자 정의 인터페이스를 상속Spring Data Jpa가 상속받은 인터페이스 이름 + Impl 조건으로 구현체를 검색해 빈으로 등록리포지토리 인터페이스 이름 + Impl 또는 사용자 정의..

백엔드/Spring 2024.09.24

[Spring] 쿼리 메서드

쿼리 메서드데이터베이스 쿼리를 생성하기 위해 메서드 이름을 사용하여 간편하게 구현할 수 있는 기능개발자가 쿼리를 작성할 때 SQL을 직접 작성하는 대신 메서드 이름을 기반으로 JPA가 자동으로 쿼리를 생성JpaRepository를 상속받는 인터페이스에 구현기본 구조접두어를 사용한 메서드 이름으로 조건을 선택조회: find…By , read…By , query…By get…By,... 에 주로 식별하기 위한 이름이나 설명이 들어가거나 생략 가능//예시: 둘 다 username을 통해 조회하는 메서드List findByUsername(String username)List findUserByUsername(String username)COUNT: count…By,  count를 반환하는 메서드 -> 반환 타입..

백엔드/Spring 2024.09.23

[Spring] Spring Data JPA

Spring Data JPAJPA를 보다 쉽게 사용할 수 있도록 도와주는 프레임워크데이터베이스와의 상호작용을 단순화하고, 반복적인 작업을 줄임복잡한 쿼리를 작성하지 않고도 CRUD(Create, Read, Update, Delete) 작업을 쉽게 수행할 수 있음접근스프링 데이터 JPA는 리포지토리 인터페이스를 통해 데이터 접근을 제공JpaRepository 또는 CrudRepository를 상속받아 필요한 메서드를 정의 (JpaRepository는 CrudRepository의 기능을 포함)사용 방법JpaRepository를 상속받아 제네릭은 엔티티 타입과 식별 자로 사용될 데이터 타입을 정의 public interface MemberRepository extends JpaRepository 상속 구조Re..

백엔드/Spring 2024.09.22
728x90