Skip to content

Handle object graph circularities (A->B->A) #38

Description

@roimenashe

At the moment, if this was loaded from the database using non-lazy references, it would load the second A as a different instance of A, say A'. It would then load B as B', so instead of creating an object graph with circularities (A->B->A), it would create A->B->A'>B'>A''>B''>A'''…. This would result in a stack overflow or OOM

Be careful of an object A which has 2 references, 1 which references B lazily, the other which references C which references B (non-lazy). So A->B(Lazy) and A->C->B. In this case B should end up as a fully hydrated in both instances, not lazy in both instances.

The same applies to A->B(Lazy) if there also is A->B.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions