2016-08-01 4 views
0

나는 Spring을 사용하여 Hibernate (jpa annotation)을 배우는 중이지만 단일 테이블을 가져 와서 계층 구조를 출력 할 수있는 방법이 있습니까? 예를 들어 book_id, author, library, floor, section 등의 열이있는 'books'테이블이 있습니다. 해당 섹션의 모든 서적을 라이브러리 -> 플로어 -> 섹션 -> 리턴 할 수있는 방법이 있습니까?최대 절전 모드 단일 테이블 계층 구조

본질적으로 테이블을 만드는 데 필요한 모든 것을 제공하는 books라는 클래스가 있습니다. 또한 모든 책을 검색 할 수있는 컨트롤러를 만들어 웹 페이지에 JSON 형식으로 출력합니다. 내가 이것을 할 수있는 방법이 계층 적이 될 수 있을까요?

저의 첫 번째 생각은 library, floor 및 section이라는 클래스를 만드는 것입니다. 도서관은 도서관의 이름과 그 도서관에있는 층의 목록을 보관할 것이고, 층은 횡령의 이름과 그 층의 구역 목록을 보유 할 것이며, 섹션은 섹션의 이름과 모든 해당 섹션의 책. 그것은 매우 길고 복잡하게되었고, 나는 그것을 작동시킬 수조차 없었습니다. 그래서 그것을하는 훨씬 더 간단한 방법이 있었으면합니다.

답변

0

네, 거기에는 3 가지 방법 중 하나 인 단일 테이블, 구체적인 클래스마다 하나, 관계 당 하나씩 ORM 계층을 매핑 할 수 있습니다.

단일 테이블의 경우 테이블에서 데이터를 구별하고 어떤 행이 어떤 개체인지 나타내는 discriminator 열을 사용해야합니다. 참조 : http://www.thejavageek.com/2014/05/14/jpa-single-table-inheritance-example/

+0

고마워요, 이것은 내가 찾고있는 것과 같습니다. – Yoshisaurus