2016-06-04 9 views
0

Ich habe gerade ein interessantes Verhalten mit Spring Data für Neo4j festgestellt, und ich frage mich, ob es mein Fehler oder ein seltsamer Bug ist.Neo4j speichern Aktion über Sammlung von Entitäten

Ich versuche, die Sammlung von Neo4j-Entitäten auf einmal zu speichern. Die Methodensignatur verspricht, eine Instanz von Iterator über diese gerade gespeicherten Entitäten zurückzugeben. Ich gehe davon aus, dass das Ergebnis Iterator über persistente Entitäten sein wird, die neu zugewiesene IDs enthalten. Allerdings ist Rückgabewert null, im Gegensatz zu dem Aufruf einer Operation über einzelne Einheit speichern:

Iterable<PhysicalMachine> savedPMs = this.physicalMachineRepository.save(pms); 

Daten wird beibehalten, und ich kann es in der Datenbank direkt nach dem Aufruf (auch während des Debuggen) sehen. "SavedPMs" ist jedoch null, was beim nächsten Aufruf natürlich einen Nullzeiger auslöst ...

Fehle mir hier etwas Triviales?

+0

bitte ein Problem in Spring JIRA für SDN: https://jira.spring.io/browse/DATAGRAPH –

+0

Welche Version von SDN 4? – Luanne

+0

Version ist 4.0.0, ich benutze neo4j 2.3.4. Ich habe noch kein Problem angesprochen, aber ich plane, es am Ende des Tages zu tun ... –

Antwort

1

Dies wurde in 4.1.1.RELEASE fixiert, https://jira.spring.io/browse/DATAGRAPH-760

Hinweis siehe:

Es ist auch, dass Sie auf 4.1.1 aktualisieren empfohlen, gibt es keine Korrekturen in der 4,0 Linie passiert . Theres eine kurze Anleitung zum Upgrade hier: http://graphaware.com/neo4j/2016/02/24/upgrading-spring-data-neo4j-4-1.html

+0

Vielen Dank für Ihren Rat. Ich habe versucht, es zu aktualisieren, aber ich war nicht ganz erfolgreich (wahrscheinlich aufgrund verschiedener Internetseiten, die verschiedene Dinge erzählen), also entschied ich mich, in dieser Version noch ein bisschen länger zu bleiben. Ist die neue Version abwärtskompatibel? Ist es möglich, neo4j 2.3.4 mit sd-n4j 4.1.1 zu verwenden, ohne alte Abfragen (und Entitäten) neu zu schreiben? Ich habe ziemlich viele von ihnen, und die meisten von ihnen geben Listen anstelle von Iterator-Instanzen zurück. –

+1

Aktualisieren Sie von SDN 3 auf SDN 4.1.1? Wenn dies der Fall ist, sind sie nicht vollständig abwärtskompatibel. Wenn Sie von SDN 4 zu 4.1 migrieren, dann sollten Sie gut sein - es gibt Änderungen an der Konfiguration und Abfragen können keine Pfade zurückgeben, aber abgesehen davon, viele Verbesserungen in 4.1 – Luanne

+0

konnte ich erfolgreich migrieren, aber ich frage mich jetzt, ob Es gibt eine Möglichkeit, die Protokollierung des HTTP-Treibers für jede ausgeführte Abfrage zu deaktivieren. Ich führe sehr viele Abfragen in einer sehr kurzen Zeitspanne aus, und bis jetzt hatte ich meine eigene eingebaute Lösung zum Aktivieren und Deaktivieren von Protokollen. Mit neuen Treibern wird jedoch jeder HTTPRequest protokolliert und meine Konsole wird überflutet :) –

Verwandte Themen