morphia
morphia copied to clipboard
Can't find by null value
Duplicate of #4035 for milestone 3.0.0
Describe the bug Cannot search by null value. I got null pointer exception:
java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "value" is null
at dev.morphia.mapping.codec.references.ReferenceCodec.collectIdValues(ReferenceCodec.java:257)
at dev.morphia.mapping.codec.references.ReferenceCodec.encode(ReferenceCodec.java:222)
at dev.morphia.mapping.codec.references.ReferenceCodec.lambda$encode$0(ReferenceCodec.java:206)
at dev.morphia.aggregation.codecs.ExpressionHelper.document(ExpressionHelper.java:81)
at dev.morphia.mapping.codec.references.ReferenceCodec.encode(ReferenceCodec.java:204)
at dev.morphia.query.OperationTarget.encode(OperationTarget.java:68)
at dev.morphia.query.filters.Filter.getValue(Filter.java:158)
at dev.morphia.query.filters.Filters$1.encode(Filters.java:220)
To Reproduce
@Entity
class IssueEntity {
....
@Reference(idOnly = true)
private SprintEntity sprint;
.....
}
Query<IssueEntity> query = dataBaseClient.getDatastore().find(IssueEntity.class);
query.filter(Filters.eq("sprint", null));
IssueEntity entity = query.first();
** Please complete the following information: **
- Driver Version: 4.11.5
- Morphia Version: 2.4.19
Additional context Any example models, queries, and executable test cases you can supply will greatly help debugging your issue: