2016-07-14 3 views
0

Ich habe damit zu tun, jetzt will ich die Kontrolle übernehmen. Aufgrund der Datengröße muss ich die Liste kontrollieren, die von Hibernate aufgefüllt wurde.One to Many Annotationsliste Steuerung Hibernate

@OneToMany(mappedBy="members") 
private List<Members> membersList; 

So kann die memberList bis zu 100 wachsen, die Sql von Android kann es nicht nehmen. Ich meinte die riesige Größe der Liste in der internen Datenbank gespeichert.

Gibt es trotzdem eine Kontrolle der Listengröße vor dem Speichern in Android interne Datenbank?

Danke, Pusp

+0

Ist es ein PPV-Projekt auf Android? –

+0

Ja, sind Sie spezifisch für alles, auch ich meinte dies zu ArrayList list = new ArrayList <> (20); –

Antwort

0

Sie benötigen, um Ihre Art der Sammlung zu setzen.

@OneToMany(mappedBy="members") 
private Set<MembersList> memberList; 

UPDATE

Die Dokumentation sagt:

natürlich auch Sammlungen bestehen bleiben Hibernate erlaubt. Diese persistenten Sammlungen können fast jeden anderen Hibernate-Typ enthalten, einschließlich: Grundtypen, benutzerdefinierte Typen, Komponenten und Verweise auf andere Entitäten. Die Unterscheidung zwischen Wert- und Referenzsemantik ist in diesem Zusammenhang sehr wichtig. Ein Objekt in einer Sammlung kann mit einer "Wert" -Semantik behandelt werden (sein Lebenszyklus hängt vollständig vom Eigentümer der Sammlung ab) oder es kann sich um eine Referenz auf eine andere Entität mit einem eigenen Lebenszyklus handeln. Im letzteren Fall wird nur die "Verbindung" zwischen den beiden Objekten als ein Zustand betrachtet, der von der Sammlung gehalten wird.

Als Voraussetzung müssen persistente sammlungserhebliche Felder als Schnittstellentyp deklariert werden (siehe Beispiel 7.2, "Collection-Mapping mit @OneToMany und @JoinColumn"). Die tatsächliche Schnittstelle könnte java.util.Set, java.util.Collection, java.util.List, java.util.Map, java.util.SortedSet, java.util.SortedMap oder alles sein, was Ihnen gefällt ("alles, was Sie mögen"). bedeutet, dass Sie eine Implementierung von org.hibernate.usertype.UserCollectionType schreiben müssen.

-Link: https://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/collections.html#collections-mapping

+0

Danke, für Ihren Kommentar, wird es lösen bitte erklären –