Repository 만들기

Workwork·2022년 8월 12일
0

React.Boot.Aws

목록 보기
18/19
package com.example.demo.persistance;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.example.demo.model.TodoEntity;

@Repository
public interface TodoRepository extends JpaRepository<TodoEntity, String>{

}


/*
 * JpaRepository는 인터페이스. 이 인터페이스를 사용하려면 새 인터페이스로 얘를 확장해야한다.
 * 이 때 JpaRepository<T, ID> 에서 T는 테이블에 매핑될 엔티티 클래스이고, ID는 이 엔티티의 기본 키의 타입이다.
 * 우리의 경우 TodoEntity, 그리고 TodoEntity의 기본 키인 id의 타입인 String을 넣어준다. 
 * 
 * 
 * JpaRepository 의 sava/findAll/findById 등의 메소드들이 INSERT/SELECT ALL/SELECT WHERE ~ 등의 역할을 한다고 보면 된다.
 *
 *
 * 클래스로 구현을 하지 않아도 작동하는 이유?
 * AOP의 관점을 알아야 한다.
 * 스프링은 MethodInterceptor라는 AOP 인터페이스를 사용한다.
 * 얘가 우리가 JpaRepository의 메서드를 부를 때마다 이 메서드 콜을 가로채서,
 * 가로챈 메서드의 이름을 확인하고 메서드 이름을 기반으로 쿼리를 작성한다.
 * */
 */
profile
나만 알아보면 된다는 마음으로 작더라도 조금씩

0개의 댓글