2016-08-01 13 views
0

Ich lerne immer noch Hibernate (jpa Annotation) mit Spring, aber gibt es eine Möglichkeit, ich würde eine einzige Tabelle und Ausgabe hierarchische Struktur nehmen? ZB habe ich eine Tabelle namens "books" mit den Spalten: book_id, author, library, floor, section. Gibt es einen Weg, ich könnte es mit Bibliothek -> Stock -> Abschnitt -> alle Bücher in diesem Abschnitt zurückgeben.Hibernate Single Table Hierarchy

Ich habe eine Klasse namens Bücher, die im Wesentlichen alle erforderlichen für die Erstellung der Tabelle bietet. Ich habe auch einen Controller erstellt, mit dem ich alle Bücher abrufen kann und sie im JSON-Format auf die Webseite ausgibt. Gibt es eine Möglichkeit, dies zu tun, so wird es hierarchisch sein.

Mein erster Gedanke wäre, Klassen namens Bibliothek, Stock und Abschnitt zu machen. Bibliothek würde den Namen der Bibliothek und eine Liste von Stockwerken in dieser Bibliothek halten, Boden würde den Namen des Floots halten und eine Liste von Abschnitten in diesem Stockwerk, und Abschnitt würde den Namen des Abschnitts und eine Liste aller halten Bücher in diesem Abschnitt. Es wurde sehr lang und involviert, und ich konnte es nicht einmal zur Arbeit bringen, also hoffte ich, dass es einen viel einfacheren Weg gab, es zu tun.

Antwort

0

Ja, es gibt, können Sie ORM-Hierarchie in einer von 3 Möglichkeiten, einzelne Tabelle, eine pro konkrete Klasse und eine pro Beziehung zuordnen.

Bei einer einzelnen Tabelle müssen Sie eine Diskriminatorspalte in der Tabelle verwenden, die Daten unterscheidet und angibt, welche Zeile für welches Objekt gilt. Siehe: http://www.thejavageek.com/2014/05/14/jpa-single-table-inheritance-example/

+0

Danke, das sieht genau so aus, was ich gesucht habe! – Yoshisaurus

Verwandte Themen