Ha, you know what, whilst I have been disappeared I have had a thought and I'm going to guess that the problem (for me) stems from not performing equality/hash based on the graphId field and therefore ending up with a load of nodes that are "equal" and subsequently occupy a single slot in the set. Well I wish I'd realised that when I started, there is a lot of behaviour to modify now!
M On Monday, 28 April 2014 14:37:30 UTC+1, Mark Findlater wrote: > > Sorry, I didn't see this reply! Interestingly I just came across the > problem again, I can write a unit test, I have unit tests but it is quite a > lot of code to reproduce, so I can trim it down. In the meantime should I > assume that this is not a problem that anyone other than myself and Michael > A are experiencing? > > Thanks, > > M > > On Thursday, 17 April 2014 05:49:10 UTC+1, Michael Hunger wrote: >> >> As simple mode is detached from the db you should need to save it again >> to persist changes >> >> Mark could you create a unit test for that fetching/loading behavior? >> >> Thanks a lot >> >> Sent from mobile device >> >> Am 17.04.2014 um 02:31 schrieb Michael Azerhad <[email protected]>: >> >> Oh, so the problem should not be tied exclusively to Scala.. >> >> I don't find the root cause.. I just use a workaround: >> >> instead of neo4jTemplate.fetch method, I wrote a repository method to >> fetch the whole. Not pretty, but working.. >> >> I would be curious too to know the exact reason of the issue.. >> >> Michael >> >> On Tuesday, April 15, 2014 2:13:50 PM UTC+2, Mark Findlater wrote: >>> >>> I am interested in this too. I am using Neo4j 2.0.1 and SDN >>> 3.0.0.RELEASE . I am experiencing the same behaviour: >>> >>> //When the Node is retrieved images.size() is 3 and the correct images >>> are present. >>> @NodeEntity >>> public class SponsorNode { >>> >>> @RelatedTo(type="BRAND_IMAGE", direction=Direction.OUTGOING) >>> @Fetch >>> private Set<ImageNode> images; >>> } >>> >>> //If I now fetch the sponsor node images.size() == 1, if I run >>> template.fetch(images) then images.size() == 1 (but all attributes are >>> populated). >>> @NodeEntity >>> public class SponsorNode { >>> >>> @RelatedTo(type="BRAND_IMAGE", direction=Direction.OUTGOING) >>> private Set<ImageNode> images; >>> } >>> >>> Did you find the root of your problem Michael? >>> >>> On Sunday, 2 February 2014 22:27:56 UTC, Michael Azerhad wrote: >>>> >>>> Maybe it's an incompatibility with Scala. >>>> >>>> I spent all day long to explain a possible reason why fetching only >>>> returns the first collection's element. >>>> >>>> Could anyone confirm me this assumption: >>>> I precise I use SDN 3.0.0-RC1 with the simple object mapping: >>>> >>>> *If my first action is to create and save a `Meeting` object, * >>>> *then I don't need to save it anymore to be able to fetch the future >>>> relationships made by adding some `Participation`s independently.* >>>> *In other word, does fetching for last values require the Meeting >>>> object to be saved/updated again after Participations were added?* >>>> >>>> Thanks a lot >>>> >>>> On Sunday, February 2, 2014 3:29:45 PM UTC+1, Michael Azerhad wrote: >>>>> >>>>> I use Scala. >>>>> >>>>> In my class Meeting, I have this relation: >>>>> >>>>> @RelatedTo(`type` = "TO", direction = Direction.INCOMING) >>>>> var _participants: java.util.Set[Participation] = _ >>>>> >>>>> Participation is another node entity, linked to Meeting with an >>>>> outgoing relationship "TO". >>>>> >>>>> What I do is a simple test saving firstly a Meeting, and then saving >>>>> three distinct Participations related to it. >>>>> >>>>> I expect then to have a size of 3 when I do at the end of the process: >>>>> >>>>> neo4jTemplate.fetch(meetingRepository.findById(justSavedMeetingId). >>>>> _participants) >>>>> >>>>> However, it only returns the first Participation that was linked to. >>>>> Not the two others.... >>>>> >>>>> Note that it well works (size of 3 retrieved) when I add @Fetch, >>>>> without explicitly using neo4jtemplate.fetch: >>>>> >>>>> @Fetch @RelatedTo(`type` = "TO", direction = Direction.INCOMING) >>>>> var _participants: java.util.Set[Participation] = _ //works >>>>> >>>>> I tested it in the same transaction and in distinct transaction. >>>>> >>>>> Am I missed something obvious? >>>>> >>>>> Thanks, >>>>> >>>>> Michael >>>>> >>>>> On Sunday, February 2, 2014 3:53:54 AM UTC+1, Michael Azerhad wrote: >>>>>> >>>>>> Hello, >>>>>> >>>>>> My question is pretty simple: >>>>>> May it be a normal scenario when neo4jTemplate.fetch returns ALWAYS >>>>>> the first collection's element? (concerning a @RelatedTo collection's >>>>>> field without any @Fetch annotation) >>>>>> >>>>>> On the contrary, when @Fetch is placed, the whole collection is well >>>>>> retrieved. >>>>>> >>>>>> I did a workaround by rather use a Cypher Query (annotation in my >>>>>> repository) to load the collection, but I would like to know if this >>>>>> scenario could be explained. >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Michael >>>>>> >>>>>> >>>>>> -- >> You received this message because you are subscribed to the Google Groups >> "Neo4j" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> >> -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
