• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Jpa(Hibernate)가 올라오는 과정을 공부해 보고 싶습니다.

24.03.30 23:16 작성 24.03.30 23:35 수정 조회수 88

0

안녕하세요 Spring Data jpa 이용해서 프로젝트를 하던중 웹 검색을 하다가 아래와 같이 사용할 수 있다는 것을 알게 되었습니다.

public interface ItemRepository<T extends Item> extends JpaRepository<T, Long> {} 
public interface BookRepository extends JpaRepository<Book, Long> {} 
public interface AlbumRepository extends JpaRepository<Album, Long> {} 
public interface MovieRepository extends JpaRepository<Movie, Long> {}

Item을 상속받은 객체를 repository ItemRepository 에 넣으면 잘 들어갑니다.

더 신기한 것은 Item객체를 상속 받은 Book객체를 BookRepository에서 찾을 수 있습니다.

 

아마 내부적으로 Jpa(hibernate)에서 엔티티에 있는 어노테이션을 뒤져서 조인 전략을 사용한 것이라는 사실을 애플리케이션 시작 전에 알고 있을텐데, 정확히 어떤 방식으로 이것을 귀신같이 알고 있는 건지 잘 이해가 되지 않습니다.(item객체인지만 알 수 있을텐데, 어떻게 BookRepsoitory에도 나머지 데이터를 넣어주는지 너무 궁금합니다.)

DataJpa나 하이버네이트 관련 메뉴얼도 많이 찾아 보았는데, 내부적으로 작동하는 것에 대해서는 크게 설명하지 않고 사용법만 있어서 해당 부분 키워드나 방법이라도 알 수 있지 않을까 싶어서 질문 드립니다.

 

그리고 위의 예제는 아래 블로그에서 찾을 수 있었는데, 강의에 있던 내용이라고 댓글에 적혀 있었는데요

제가 빼먹은 건가 싶어서 열심히 책과 모든 강의를 찾아보았지만.. 저는 찾을 수 없었는데요, 혹시라도 강의에서 언급 하시고 넘어가셨다면 해당 부분이라도 알고 싶습니다.

블로그 링크는 아래와 같습니다.

https://jyami.tistory.com/23

 

감사합니다.

 

 

답변 1

답변을 작성해보세요.

0

안녕하세요. lee님

JPA 기본편

섹션 7. 고급 매핑 - 상속 관계 매핑을 참고해주세요.

감사합니다.

lee님의 프로필

lee

질문자

2024.04.01

확인해보고 찾았습니다! 감사합니다!!