File tree Expand file tree Collapse file tree 2 files changed +32
-4
lines changed
objectbox-java/src/main/java/io/objectbox/query
tests/objectbox-java-test/src/main/java/io/objectbox/relation Expand file tree Collapse file tree 2 files changed +32
-4
lines changed Original file line number Diff line number Diff line change @@ -290,23 +290,23 @@ void resolveEagerRelations(List entities) {
290
290
}
291
291
292
292
/** Note: no null check on eagerRelations! */
293
- void resolveEagerRelationForNonNullEagerRelations (Object entity , int entityIndex ) {
293
+ void resolveEagerRelationForNonNullEagerRelations (@ Nonnull Object entity , int entityIndex ) {
294
294
for (EagerRelation eagerRelation : eagerRelations ) {
295
295
if (eagerRelation .limit == 0 || entityIndex < eagerRelation .limit ) {
296
296
resolveEagerRelation (entity , eagerRelation );
297
297
}
298
298
}
299
299
}
300
300
301
- void resolveEagerRelation (Object entity ) {
302
- if (eagerRelations != null ) {
301
+ void resolveEagerRelation (@ Nullable Object entity ) {
302
+ if (eagerRelations != null && entity != null ) {
303
303
for (EagerRelation eagerRelation : eagerRelations ) {
304
304
resolveEagerRelation (entity , eagerRelation );
305
305
}
306
306
}
307
307
}
308
308
309
- void resolveEagerRelation (Object entity , EagerRelation eagerRelation ) {
309
+ void resolveEagerRelation (@ Nonnull Object entity , EagerRelation eagerRelation ) {
310
310
if (eagerRelations != null ) {
311
311
RelationInfo relationInfo = eagerRelation .relationInfo ;
312
312
if (relationInfo .toOneGetter != null ) {
Original file line number Diff line number Diff line change 20
20
21
21
import java .util .List ;
22
22
23
+ import io .objectbox .query .Query ;
23
24
import io .objectbox .query .QueryConsumer ;
24
25
25
26
@@ -77,6 +78,19 @@ public void accept(Customer data) {
77
78
assertTrue (((ToMany ) customer .getOrders ()).isResolved ());
78
79
}
79
80
81
+ @ Test
82
+ public void testEagerToMany_NoResult () {
83
+ Query <Customer > query = customerBox .query ().eager (Customer_ .orders ).build ();
84
+ query .find ();
85
+ query .findFirst ();
86
+ query .forEach (new QueryConsumer <Customer >() {
87
+ @ Override
88
+ public void accept (Customer data ) {
89
+
90
+ }
91
+ });
92
+ }
93
+
80
94
@ Test
81
95
public void testEagerToSingle () {
82
96
Customer customer = putCustomer ();
@@ -122,4 +136,18 @@ public void accept(Customer data) {
122
136
assertTrue (order .customer__toOne .isResolved ());
123
137
}
124
138
139
+ @ Test
140
+ public void testEagerToSingle_NoResult () {
141
+ Query <Order > query = orderBox .query ().eager (Order_ .customer ).build ();
142
+ query .find ();
143
+ query .findFirst ();
144
+ query .forEach (new QueryConsumer <Order >() {
145
+ @ Override
146
+ public void accept (Order data ) {
147
+
148
+ }
149
+ });
150
+ }
151
+
152
+
125
153
}
You can’t perform that action at this time.
0 commit comments