spring-data-mongodb icon indicating copy to clipboard operation
spring-data-mongodb copied to clipboard

QueryDSL-style queries don't honor targetType @Field attribute

Open onmishkin opened this issue 1 year ago • 2 comments

I have a @Document class, Foo with a field like this:

@Field(value = "bar", targetType = FieldType.OBJECT_ID)
String bar;

I'm using QueryDSL so I also end up with a QFoo generated class. In another class, I have a field r whose type is a @Repository interface R that implements QuerydslPredicateExecutor.

When I call r.findAll(QFoo.foo.bar.eq("...") I expect the "..." to be converted to an ObjectId as part of the construction of the MongoDB query but instead it gets passed through as a string--i.e., the query looks like:

{bar: "..."}

so the query doesn't work as expected.

onmishkin avatar Apr 07 '23 20:04 onmishkin

sorry for long silence. What version of data-mongo are you referring to please? Everything seems to work as designed on current main.

christophstrobl avatar Aug 29 '23 11:08 christophstrobl

I observed the problem on version 3.4.2.

onmishkin avatar Aug 29 '23 13:08 onmishkin