Das Mapping eines SQL-Ansicht ohne Primärschlüssel zu JPA-Entity
In meine Java-App, die ich möchte, um Informationen zu bekommen, die ist gespeichert in meiner Oracle-Datenbank mit JPA.
In meiner Datenbank habe ich eine Ansicht mit einer Reihe von Spalten, die ich von einigen anderen Tabellen. Ich möchte die Karte Anzeigen. Aber, meine Ansicht nicht über einen Primärschlüssel, so kann ich nicht erstellen Sie eine JPA-Entität. Ich dachte über verwenden 2 Spalten als Fremdschlüssel.
Was ist die beste Art und Weise der Umsetzung, der? Ich habe gesehen, so viele unterschiedliche Ansätze, dass ich nicht entscheiden kann welche die beste für diesen Fall.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Weg, dies zu lösen, ist die Verwendung einer zusammengesetzten Primärschlüssel, indem Sie nur die @Id-annotation, um die entsprechenden Felder ein.
Es gibt keine beste Ansatz. Wie, dass ist eine Ansicht, die Sie nie legen Sie alle Daten in der it, was bedeutet, können Sie einfach definieren Sie einen Primärschlüssel über alle vorhandenen Felder. Auch könnten Sie versuchen, so markieren Sie das Feld mit
insertable=false, updatable=false
.UPDATE
Wissen Sie besser Ihre Daten, aber im Allgemeinen in eine Ansicht, die Sie nicht garantieren können, dass alle Datensätze, die einzigartig sind, weshalb sollten Sie im Allgemeinen vermeiden Sie das arbeiten direkt mit Unternehmen aus der Ansicht. Ich würde vorschlagen, sondern arbeiten mit einer Wrapper-Klasse, so etwas wie: