MorphiaOrg / morphia

MongoDB object-document mapper in Java based on https://github.com/mongodb/mongo-java-driver
Apache License 2.0
1.65k stars 456 forks source link

How to add a default codec for internal objects of an entity #3181

Open victorGS18 opened 2 months ago

victorGS18 commented 2 months ago

I'm having problems reading an object that has another object defined inside. It tells me that it doesn't find a codec and therefore I would like to add a default pojoCodec as is possible in the driver.

The codecRegistry would be this: MongoClientSettings.getDefaultCodecRegistry(), CodecRegistries.fromProviders(PojoCodecProvider.builder().automatic(true).build())

The problem is that if I add this to MapperOptions then it adds them before the Morphia Codecs and then the aggregations don't work, for example, the $match expression decodes it with the default codec.

Is there a way to do this? Or what is the solution for internal objects of an entity?

Thanks!

Please complete the following information: Morphia Version: 2.4.14

victorGS18 commented 2 months ago

What I want is to avoid having to annotate 300 internal classes with @Entity