도슐랭스타
ReadingRecordRepository 생성 본문
Repository는 JPA가 제공하는 '자동 DAO(데이터 접근 객체)'
DAO(Data Access Object) - 실제 DB에 접근하여 CRUD하는 객체
ReadingRecordRepository.java
package me.dodo.readingnotes.repository;
import me.dodo.readingnotes.domain.ReadingRecord;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ReadingRecordRepository extends JpaRepository<ReadingRecord, Long> {
// 필요하면 여기에 커스텀 쿼리도 작성
}
public interface ReadingRecordRepository - ReadingRecord 엔티티와 DB를 연결해주는 역할을 하는 인터페이스
extends JpaRepository<ReadingRecord, Long> - JPA 사용하겠다. JPA가 자동으로 모든 DB 작업 메서드를 만들어줌
ReadingRecord - 어떤 엔티티를 저장할지
Long - 엔티티의 기본키 타입 (@Id 필드의 타입)
쓸 수 있는 메서드 예시
1. save(record) - 객체를 DB에 저장 (INSERT or UPDATE)
2. findById(id) - 기본키로 조회
3. findAll() - 전체 조회
4. delete(record) - 삭제
커스텀 메서드
1. findByXxx() - Xxx 값으로 조회
2. findByTitleAndAuthor() - 제목과 작가 둘 다 만족하는 데이터 조회
3. findByDateAfter() - 특정 날짜 이후의 데이터
4. findByTitleContaining() - 제목에 특정 단어가 포함된 데이터 (LIKE '%값%')
예시 - 제목으로 검색하는 커스텀 메서드
public interface ReadingRecordRepository extends JpaRepository<ReadingRecord, Long> {
// 제목으로 조회
List<ReadingRecord> findByTitle(String title);
// 작가명으로 조회
List<ReadingRecord> findByAuthor(String author);
// 특정 날짜 이후에 작성된 독서기록 조회
List<ReadingRecord> findByDateAfter(LocalDate date);
}
반응형
'Spring Boot project' 카테고리의 다른 글
DTO 클래스 생성 Request, Response (1) | 2025.04.13 |
---|---|
ReadingRecordController 생성, get/post Test (1) | 2025.04.12 |
ReadingRecordService 생성 (0) | 2025.04.11 |
ReadingRecord 엔티티 생성 (0) | 2025.04.09 |
환경설정 (0) | 2025.04.09 |
Comments