작성
·
737
·
수정됨
2
강사님 안녕하세요~
회사에서
jpa 사용하면서 깊이 생각 안하고 사용하다가
궁금한점이 생겼습니다
특정 리포지토리가 있다고 가정하겠습니다
@Repository
public interface 리포지토리 extends JpaRepository<도메인, Long>, JpaSpecificationExecutor<도메인> {
리포지토리.save();
하면 스프링프레임웍 하이버네이트 구현체가 실행해준다고 하는데
저는 실제 프레임웍 구현체 소스 코드를 보고 싶습니다
제가 IDE 이클립스를 사용중인데 어디라이브러리나
소스 코드를 보면 될까요
리포지토리.save() -> █이메서드를 클릭하면
org.springframework.data.repository.CrudRepository 다시 인터페이스이고
@NoRepositoryBean
public interface CrudRepository<T, ID> extends Repository<T, ID> {
<S extends T> S save(S entity);
=> █ CrudRepository 인터페이스의 save 메서드를 구현코드는
또 어느라이브러리에 어떤 메서드를 확인하면 될까요?
*.스프링, 스프링부트 강의 수강하며 계속 반복되는 얘기가
유연하게 적용하기위해 많은 인터페이스를 사용하고
구현체가 있다고 계속 얘기되는데
그럼 그런 구현체를 최 하위의 클래스 메서드를 보는 방법이 어떻게 되는지 궁금하네요..
*.추가적으로 소스코드에는
리포지토리.save(); =>인터페이스.save();
인터페이스.메서드 를 호출했는데
스프링 프레임웍에서 어떤 원리로
인터페이스.메서드 => 구현체클래스.메서드가 호출되는지
이해가 가지 않습니다
바쁘시겠지만 시간 나실때 답변 주시면 감사하겠습니다
수고하세요..
#JPA
#구현체
#하이버네이트
#hibernate
답변 1
0
y2coder 님 감사합니다~
혹시
*.추가적으로 소스코드에는
리포지토리.save(); =>인터페이스.save();
인터페이스.메서드 를 호출했는데
스프링 프레임웍에서 어떤 원리로
인터페이스.메서드 => 구현체클래스.메서드가 호출되는지
이해가 가지 않습니다
====> 이 부분에 대해서도 여쭤봐도 될까요?