MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Verwendung von Hibernate OGM mit Cloud MongoDB Atlas M0 (kostenloses Kontingent)

Es ist möglich, dass etwas mit der Art und Weise, wie Hibernate OGM den Client erstellt, nicht stimmt.

Ich denke, der einfachere Weg, dies jetzt für Sie zu überprüfen, besteht darin, den MongoDBDatastoreProvider zu überschreiben und stellen Sie einen initialisierten MongoClient bereit.

Sie können dies tun, indem Sie MongoDBDatastoreProvider erweitern und die Methode createMongoClient überschreiben. Etwas wie:

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(...);
    }

}

Verwenden Sie dann die Eigenschaft OgmProperties.DATASTORE_PROVIDER So verwenden Sie Ihren Datenspeicheranbieter:

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

In diesem Beispiel setze ich es in der Datei hibernate.properties, aber Sie können es dort setzen, wo es für Ihr Projekt sinnvoller ist.

BEARBEITEN :Zusätzliche Erläuterungen zum Fehler.

Ich denke, das Problem ist, dass wir die Factory nicht verwenden, um den Mongo-Client zu erstellen .

BEARBEITEN 2 :Das Problem könnte durch mangelnde Unterstützung für SSL verursacht werden.Ein Problem wurde erstellt und enthält weitere Informationen