hibernate-mapping

___ qstntxt ___

Das ist mein Code Hier verwende ich mehrere Listen, um Daten aus der Datenbank zu holen. Beim Abrufen von Daten aus der hql-Abfrage wird eine Ausnahme angezeigt.

Pojo-Klasse

%Vor%

hmb.xml-Datei

%Vor%

Hql-Abfrage

%Vor%

Ich versuche folgende Abfrage, um Daten aus der Datenbank abzurufen, aber dies wird angezeigt %Code% Wie man das löst

    
___ answer31503313 ___

Bei mir hatte ich den gleichen Fehler und löste das durch Hinzufügen der Annotation von Hibernate @Fetch

%Vor%     
___ answer24675918 ___

Sie können nur nach einer Relation für eine Entität eine Verknüpfung erstellen (entweder %code% oder %code% ).

Ziehen Sie die Verwendung von faulen Verknüpfungen und das Laden von Auflistungen in Betracht, wenn sie benötigt werden ODER verwenden Sie faule Verknüpfungen und das manuelle Laden von Sammlungen mit %code% . Zumindest war das die Schlussfolgerung, zu der ich kam, als ich ein ähnliches Problem hatte.

.

In jedem Fall wird mehr als eine Abfrage zur Datenbank benötigt.

    
___ qstnhdr ___ org.hibernate.loader.MultipleBagFetchException: kann nicht mehrere Taschen gleichzeitig abrufen ___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123hibernate ___ Hibernate ist eine ORM-Bibliothek (Object-Relational Mapping) für die Sprache Java, die es Entwicklern ermöglicht, POJO-artige Domänenmodelle in ihren Anwendungen zu verwenden, die weit über das Object / Relational Mapping hinausgehen. ___ answer24675463 ___

Ihre Anfrage holt zu viele Daten und HIbernate kann nicht alle laden. Reduzieren Sie Ihre Anfrage und / oder konfigurieren Sie Ihre Entitäten, um nur benötigte Daten abzurufen

    
___ tag123jpa ___ Die Java Persistence API (JPA) ist eine Java-Spezifikation für den Zugriff, die Speicherung und die Verwaltung von Daten zwischen Java-Objekten / Klassen und einer relationalen Datenbank. Es ist Teil der EJB 3.0-Spezifikation und der Industriestandard für ORM (Object to Relational Mapping). ___ answer26393134 ___

Der Wechsel zu %code% ist die beste Lösung. Wenn Sie jedoch die %code% nicht durch %code% ersetzen können (wie in meinem Fall gab es eine starke Verwendung von JSF-Tags, die für %code% spezifisch sind) und wenn Sie proprietäre Hibernate-Annotationen verwenden können, können Sie% co_de angeben %. Diese Lösung funktionierte besser für mich, die Umstellung auf %code% würde Tonnen von Refactoring erfordern.

Also, Ihr Code wäre etwa so:

%Vor%

Wie Igor in den Kommentaren vorgeschlagen hat, könnten Sie auch Proxy-Methoden erstellen, um die Listen zurückzugeben. Ich habe das nicht ausprobiert, wäre aber eine gute Alternative, wenn Sie keine Hibernate-proprietären Annotationen verwenden können.

    
___ tag123bag ___ Eine ungeordnete Sammlung, die Duplikate enthalten kann ___ tag123hibernateemapping ___ Hibernate verwendet Mapping-Metadaten, um herauszufinden, wie Objekte der persistenten Klasse geladen und gespeichert werden. Die Hibernate-Zuordnung kann mithilfe von Konfigurationsdateien oder Anmerkungen festgelegt werden. ___ answer24676806 ___

Wie in dieser Artikel , Hibernate erlaubt es nicht mehr als eine Tasche holen denn das würde ein cartesianischen Produkt erzeugen.

Sie können die Taschen-Sets, ändern und ein %code% Attribut ‚Simulieren‘ eine geordnete Liste Verhalten hinzufügen:

%Vor%

Aber nur weil du es kannst, heißt das nicht, dass du es solltest.

Was könnten Sie tun, ist höchstens eine Sammlung in der ursprünglichen SQL-Abfrage zu holen, während die anderen Sammlungen später mit sekundären Abfragen abgerufen werden. Auf diese Weise können Sie das kartesische Produkt vermeiden.

Eine weitere Option ist Multi-Level zu verwenden, von Kind zu holen bis zu Muttergesellschaften .

    
___
4
Antworten

Warum ist der JPA FetchType EAGER standardmäßig für die @ManyToOne-Beziehung?

Ich habe im Hibernate-Quellcode festgestellt, dass FetchType für ManyToOne-Mapping standardmäßig EAGER ist. Während für die OedoMany-Mapping-Standardlademethode Lazy ist. Was ist der spezifische Grund dafür?     
17.12.2014, 06:15
1
Antwort

Spring und / oder Hibernate: Speichern von Viele-zu-Viele-Beziehungen von einer Seite nach dem Senden des Formulars

Der Kontext Ich habe eine einfache Assoziation zwischen zwei Entitäten - Category und Email (NtoM). Ich versuche, Web-Interface zum Durchsuchen und Verwalten von ihnen zu erstellen. Ich habe ein einfaches E-Mail-Abonnement-Bearbeitungsf...
09.10.2013, 18:44
3
Antworten

Untergeordnetes Element vom übergeordneten Element und vom übergeordneten Element automatisch mit JPA-Anmerkungen löschen

Angenommen, wir haben die Objektklasse 3 Entities: %Vor% Wie kann ich JPA2.x (oder Hibernate) -Anmerkungen für verwenden? Löschen Sie alle Kinder automatisch, wenn die Eltern gelöscht werden (eins zu viele) Löschen Sie das Kind automat...
29.05.2014, 03:36
2
Antworten

Hibernate: Nicht zugeordnete Klassenzuordnungsausnahme

Ich weiß, dass dies ein ziemlich elementares Problem sein sollte, aber 1) Ich bin relativ neu in Hibernate, und 2) die Fixes, die ich gefunden habe, gelten hier nicht (scheinen). Hier ist die Ausnahme, die ich bekomme: %Vor% Dies tritt au...
14.10.2009, 04:40
2
Antworten

HIbernate Mapping-Ausnahme: PropertyNotFoundException: Ein Setter konnte nicht gefunden werden

Ich habe zwei POJOs, STOCK und STOCK_DETAILS (Eins-zu-Viele-Beziehung). Ich habe auch eine Schnittstelle IAUDITLOG (mit zwei Methoden). Ich muss diese Schnittstelle mit BEIDEN POJOs implementieren und möchte einige Implementierungen innerhalb di...
26.02.2014, 05:05
3
Antworten

Hibernate Mapping-Ausnahme: Wiederholte Spalte beim Mapping für Entität

Es gibt eine Zuordnungsausnahme für eine bestimmte Entität. Kann nicht herausfinden, woher das Problem kommt. Ich habe alle Zuordnungen dreimal von Anfang bis Ende überprüft. Noch bekomme ich eine Mapping-Ausnahme. E-Mail an Mitarbeiter wird...
21.02.2012, 16:17
9
Antworten

Wie füge ich Daten verschiedener Datensätze zu einem einzelnen Datensatz hinzu?

Wenn Sie keine Zeit haben, schauen Sie sich bitte das Beispiel an Ich habe zwei Arten von Benutzern, temporäre Benutzer und permanente Benutzer. Temporäre Benutzer benutzen das System als Gast, geben nur ihren Namen an und benutzen ihn, ab...
20.03.2016, 07:12
2
Antworten

FEHLER: ORA-02289: Sequenz existiert nicht - org.hibernate.exception.SQLGrammarException: konnte ResultSet nicht extrahieren

Ich erstelle eine grundlegende Hibernate-Anwendung für die Mitarbeitertabelle, in der ich den Datensatz mit Hilfe der ManageEmployee-Klasse hinzufüge, aktualisiere, lösche und zeige. Eigentlich ist ManageEmployee meine Testklasse und ich benu...
11.05.2015, 22:44
3
Antworten

Hibernate @OrderBy für verschachtelte Eigenschaften

Ich muss @OrderBy (JPA, Hibernate als Provider) verwenden, um die Auflistung nach geschachtelter Eigenschaft zu sortieren: %Vor% In PkdbParameter.java: %Vor% In Release.java: %Vor% (alle diese Felder haben einfache Getter und Setter...
09.05.2012, 14:32
1
Antwort

Mapping einer lokalisierten Zeichenfolge in Hibernate - jede Best Practice?

Ich schreibe eine Anwendung, in der alle String-Eigenschaften lokalisiert werden müssen, d. h. sie müssen für jedes verfügbare Gebietsschema einen anderen Wert speichern. Eine schnelle Lösung wäre, eine Map zu verwenden, die einfach in Hibernate...
24.01.2011, 16:59