I am storing a custom java object called Device into a mongo collection. This works fine. But when I am receiving the database entry all inner class objects are assigned with null and not with the database value.
This is a device:
public class Device {
    public String id;
    public String serialNumber;
    public String name;
    public int status;
    public String errorReport;
    public List<Sensor> sensors=new ArrayList<>();
    public List<Action> actions=new ArrayList<>();
    public List<String> filterTags= new ArrayList<>();
    public List protocols;
}
This is an example entry from the database, as you can see the values are saved well:
    {
        "_id": "7_openHabsamsungtv:tv:cbaf7d7d_4e10_41e6_9c1d_864988057bda",
        "actions": [
            {
                "_id": "samsungtv:tv:cbaf7d7d_4e10_41e6_9c1d_864988057bda:volume",
                "deviceId": "7_openHabsamsungtv:tv:cbaf7d7d_4e10_41e6_9c1d_864988057bda",
                "errorReport": "Value wurde nicht initialisiert",
                "name": "Lautst�rke",
                "state": 0,
                "value": 0,
                "valueOption": {
                    "maximum": 0,
                    "minimum": 0,
                    "percentage": true
                },
                "valueable": true
            }
    ],
    "filterTags": [],
        "name": "[TV] Chine ",
        "sensors": [
            {
                "_id": "samsungtv:tv:cbaf7d7d_4e10_41e6_9c1d_864988057bda:sourceId",
                "name": "Source ID"
            },
            {
                "_id": "samsungtv:tv:cbaf7d7d_4e10_41e6_9c1d_864988057bda:programTitle",
                "name": "Titel"
            },
            {
                "_id": "samsungtv:tv:cbaf7d7d_4e10_41e6_9c1d_864988057bda:channelName",
                "name": "Kanal"
            }
        ],
        "status": 0
    }
And this is what it looks like when I am receiving it from the database again:
{
        "id": "7_openHabsamsungtv:tv:cbaf7d7d_4e10_41e6_9c1d_864988057bda",
        "serialNumber": null,
        "name": "[TV] Chine ",
        "status": 0,
        "errorReport": null,
        "sensors": [
            {
                "id": null,
                "name": null,
                "errorReport": null
            },
            {
                "id": null,
                "name": null,
                "errorReport": null
            },
            {
                "id": null,
                "name": null,
                "errorReport": null
            }
        ],
        "actions": [
            {
                "id": null,
                "name": null,
                "deviceId": null,
                "state": 0,
                "states": null,
                "valueOption": null,
                "value": 0,
                "errorReport": "Value wurde nicht initialisiert",
                "valueable": false
            }
],
        "filterTags": [],
        "protocols": null
    }
So when I am pulling the entries from my db collection it sets the values of the Sensor and Action to null. This is my Java Code for receiving a device:
MongoClientURI connectionString = new MongoClientURI(dummy);
MongoClient mongoClient = new MongoClient(connectionString);
CodecRegistry pojoCodecRegistry = fromRegistries(MongoClient.getDefaultCodecRegistry(),
fromProviders(PojoCodecProvider.builder().automatic(true).build()));
MongoCollection<Device> devices = database.withCodecRegistry(pojoCodecRegistry).getCollection("devices", Device.class);
Device device = devices.find().first();
I am using the standard MongoDB Java Driver. Could anyone tell me what I am missing here? Thanks in advance.
 
     
     
    