-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible regression: Issues lazy loading deep relations that are soft-deleted #11
base: master
Are you sure you want to change the base?
Conversation
This commit demonstrates - Deeply relations that are soft-deleted not loaded if lazy loading - But they are loaded when eager loading is used via .fetch()
// then: soft-deleted environments not loaded | ||
assert(lazyUsage.size() == 2); | ||
assert(lazyUsage.stream().allMatch(accountLoaded())); | ||
assert(lazyUsage.stream().filter(environmentLoaded()).count() == 1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When running 12.12.3
, soft-deleted environments are all loaded
Relevant trace-level logs with
And trace-level logs with
|
Changes in lazy loading soft deleted relations occur as of v13.6.6, might be expected given #2750: Stateless update populates OneToMany with softdeleted records during serializing |
Closing this since
|
Actually, I'll leave it open because the bug refers to this PR for unit test proving the issue |
👉 keeping this open because these test cases back this issue
Issue
When upgrading from 12.12.3 to 13.8.0, we noticed deep relations were not being lazy-loaded when soft-deleted. See thread in Ebean ORM group.
13.8.0
, but will fail with12.12.3
indicating some change in behaviour between versionsNext steps
13.8.0
and12.12.3
Overview of results (2)
1. Resolved:
setIncludeSoftDeletes()
does not fetch deep relations that are soft deleted:.fetch()
or.fetchLazy()
to explicitly define how deep the.setIncludesSoftDelete()
should go2. Bug: Queries with several
fetchLazy
do not return complete path