Spring Data JPA 에서는 간단한 CRUD 기능을 공통으로 처리하는 인터페이스를 제공
새로운 레코드 생성, 불러오기, Count 세기 등 간단한 CRUD기능들은 별도로 구현하지 않아도 제공되는 메소드를 호출하기만 한다면 사용 가능
위의 코드에서 JpaRepository를 상속 받았는데 , 제네릭 정보 안에 Domain 폴더 내에 만들었던 Album Entity와 Album ID(PK)타입인 Long을 입력하면 어떤 Entity를위한 Repository인지 정보가 있기 때문에 albumRepository에서 작업시 어떤 테이블에 데이터를 넣어야 할지 Spring이 알게 됨
사용자가 직접 정의하는 CRUD메서드
@Repository 어노테이션을 추가해서 스프링 빈으로 등록하여 IoC에서 관리하게 함
@Service 어노테이션을 추가해서 빈으로 등록하여 IoC에서 관리하게 함
@Autowired 어노테이션으로 등록된 빈을 꺼내와 사용 할 수 있음
1. AlbumRepository에서 Album ID로 조회했을 때 찾지 못해서 반환이 되지 않는 경우를 대비해서 Optional<Album> 리턴값을 갖는다
2. Optional<album> res = albumRepository.findById(albumId); 로 먼저 Optional값을 반환 받는다
3. isPresent()로 값이 있는지 확인을 먼저 함
a. 있는 경우 res.get()으로 Album 엔티티 반환
b. 없는 경우 EntityNotFoundException을 에러 메시지와 함께 throw해 줌
'개발 공부 > Spring' 카테고리의 다른 글
스프링 핵심 원리 - 기본편 (환경설정) (0) | 2023.12.11 |
---|---|
스프링 베이직 - 객체 지향 설계와 스프링 (0) | 2023.12.09 |
사이드 프로젝트 - Domain (Jpa) (1) | 2023.12.08 |
스프링 입문 - DB접근 기술 (0) | 2023.11.29 |
스프링 입문 - 회원관리 예제로 웹MVC개발 (조회) (0) | 2023.11.27 |