sql >> Base de Datos >  >> NoSQL >> MongoDB

Uso de Hibernate OGM con la nube MongoDB Atlas M0 (nivel gratuito)

Es posible que algo no esté bien en la forma en que Hibernate OGM crea el cliente.

Creo que la forma más fácil de verificar esto ahora es anular el MongoDBDatastoreProvider y proporcione un MongoClient inicializado.

Puede hacer esto extendiendo MongoDBDatastoreProvider y anulando el método createMongoClient. Algo como:

package org.myprojects;

import org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider;

public class MYCustomMongoDBDatastoreProvider extends MongoDBDatastoreProvider {

    @Override
    protected MongoClient createMongoClient(MongoDBConfiguration config) {    
       return MongoClients.create(...);
    }

}

luego use la propiedad OgmProperties.DATASTORE_PROVIDER para usar su proveedor de almacén de datos:

hibernate.ogm.datastore.provider = org.myprojects.MYCustomMongoDBDatastoreProvider

En este ejemplo, lo configuro en el archivo hibernate.properties, pero puede configurarlo donde tenga más sentido para su proyecto.

EDITAR :Explicaciones adicionales sobre el error.

Creo que el problema es que no estamos usando la fábrica para crear el cliente mongo .

EDITAR 2 :El problema puede deberse a la falta de compatibilidad con SSL.Se ha creado un problema y contiene más información