Details
-
New Feature
-
Resolution: Duplicate
-
Major - P3
-
None
-
4.1.1
-
None
Description
I'm using the PojoCodecProvider to map to Kotlin data classes. When the fields of those data classes contain annotations (unrelated to MongoDB) then an exception is thrown.
Stacktrace:
java.lang.NullPointerException: null
|
at org.bson.codecs.pojo.PojoBuilderHelper.isAssignableClass(PojoBuilderHelper.java:169)
|
at org.bson.codecs.pojo.PojoBuilderHelper.getOrCreateMethodPropertyMetadata(PojoBuilderHelper.java:160)
|
at org.bson.codecs.pojo.PojoBuilderHelper.configureClassModelBuilder(PojoBuilderHelper.java:94)
|
at org.bson.codecs.pojo.ClassModelBuilder.<init>(ClassModelBuilder.java:60)
|
at org.bson.codecs.pojo.ClassModel.builder(ClassModel.java:68)
|
at org.bson.codecs.pojo.PojoCodecProvider.createClassModel(PojoCodecProvider.java:215)
|
at org.bson.codecs.pojo.PojoCodecProvider.getPojoCodec(PojoCodecProvider.java:82)
|
at org.bson.codecs.pojo.PojoCodecProvider.get(PojoCodecProvider.java:72)
|
at org.bson.internal.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:45)
|
at org.bson.internal.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:57)
|
at org.bson.internal.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:39)
|
at com.mongodb.internal.operation.Operations.createFindOperation(Operations.java:131)
|
at com.mongodb.internal.operation.Operations.find(Operations.java:121)
|
at com.mongodb.internal.operation.SyncOperations.find(SyncOperations.java:93)
|
at com.mongodb.client.internal.FindIterableImpl.asReadOperation(FindIterableImpl.java:206)
|
at com.mongodb.client.internal.MongoIterableImpl.execute(MongoIterableImpl.java:135)
|
at com.mongodb.client.internal.MongoIterableImpl.iterator(MongoIterableImpl.java:92)
|
at com.mongodb.client.internal.MongoIterableImpl.iterator(MongoIterableImpl.java:39)
|
|
....
|
at java.lang.Thread.run(Thread.java:748)
|
2020-12-18 09:25:11.341 [nioEventLoopGroup-4-1 @call-handler#4] ERROR Application - Unhandled: GET - /restaurants
|
org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class com.fificard.domain.Restaurant.
|
(Coroutine boundary)
|
...
|
at java.lang.Thread.run(Thread.java:748)
|
Caused by: org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class com.fificard.domain.Restaurant.
|
at org.bson.internal.CodecCache.getOrThrow(CodecCache.java:57)
|
at org.bson.internal.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:64)
|
at org.bson.internal.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:39)
|
at com.mongodb.internal.operation.Operations.createFindOperation(Operations.java:131)
|
at com.mongodb.internal.operation.Operations.find(Operations.java:121)
|
at com.mongodb.internal.operation.SyncOperations.find(SyncOperations.java:93)
|
at com.mongodb.client.internal.FindIterableImpl.asReadOperation(FindIterableImpl.java:206)
|
|
... 13 common frames omitted
|
It seems that it sees the annotation itself as a property to map.