JPA-Mapping-Array
Wie kann ich die map ein array von Doubles in JPA.
Ich habe die folgende code schlägt fehl, da hibernate nicht initialisieren das array.
@Entity
public class YearlyTarget extends GenericModel {
@Id
public Integer year;
@ElementCollection
public Double[] values;
public YearlyTarget(int year) {
this.year = year;
this.values = new Double[12];
}
}
InformationsquelleAutor emt14 | 2012-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
JPA nicht Mandat zu können, bestehen arrays in eine separate Tabelle; offensichtlich JDO unterstützt, aber dann haben Sie entschieden nicht zu verwenden. Folglich müssen Sie entweder speichern Sie Sie als @Lob, oder ändern Sie Ihre java-Typ in eine Liste.
InformationsquelleAutor DataNucleus
Nutzen ein Objekt-Typ, z.B. ArrayList. Beispiel
Plain arrays würde eine echte Schmerzen in den Arsch für die Arbeit mit, wenn Sie eine Sammlung von Werten, die sich Häufig ändern. Diese Frage behandelt das gleiche Problem, mit dem gleichen Ergebnis: eine Sammlung.
Arrays sind auch die beste storage-option für eine Feste Länge von Daten geben. Kein Aufwand im Vergleich zu Sammlungen. Mit der Kollektion scheint zu sein eine Umgehung der Tatsache, dass der PPV nicht besteht arrays.
Ich vermute, dass JPA-Implementierungen, die keine proxy-arrays, der so einfach wie Listen oder sonstige Sammlungen.
InformationsquelleAutor Codemwnci
Sie nicht geben Sie die erforderlichen Datenbank-Struktur sichern Sie Ihre Zuordnung.
@ElementCollection
stützt sich auf eine Tabelle, die sich auf das abrufen der Sammlung.In der Postgresql-Datenbank für das Beispiel, das Sie speichern können, ein einfaches array in einer Spalte, wo es möglich ist, anzeigen. Sie müssen in include a Abhängigkeit:
- Und entity-definition wird wie folgt Aussehen:
Derzeit die Bibliothek unterstützt nur ints und strings, aber es ist eine ziemlich einfache Aufgabe, um neue Arten.
InformationsquelleAutor Tian Na