1

我想使用 HibernateOGM 与 MongoDB 进行交互。我有一个cfg.xml这样的文件:

<hibernate-configuration>
  <session-factory>
      <property name="hibernate.transaction.factory_class">org.transaction.JDBCTransactionFactory</property>
      <property name="hibernate.current_session_context_class">thread</property>
      <property name="hibernate.ogm.datastore.provider">mongodb</property>
      <property name="hibernate.ogm.datastore.grid_dialect">org.hibernate.ogm.dialect.MongoDBDialect</property>
      <property name="hibernate.ogm.mongodb.database">rcfdb</property>
      <property name="hibernate.ogm.mongodb.host">127.0.0.1</property>
      <property name="hibernate.ogm.mongodb.port">27017</property>
      <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
      <mapping resource="hibernate-contact.hbm.xml"/>    
  </session-factory>
</hibernate-configuration>

我还编写了我的 POJO 类,在主类中我想用这段代码填充 mongodb 中的数据库,但我无法完成这项工作,我得到了这些信息行,我该如何解决:

Session session=null;
            OgmConfiguration cfgogm=new OgmConfiguration();
            SessionFactory sessionfactory= cfgogm.buildSessionFactory();
            session=sessionfactory.openSession();
            session.beginTransaction();

            System.out.println("Populating the database...");
            Contact cnt=new Contact();
            cnt.setFirstname("Blabla");
            cnt.setLastname("Blabla");
            cnt.setEmail("blabla");
            session.save(cnt);
            session.getTransaction().commit();
            System.out.println("Done... :)");

这段代码我没有输出,也没有例外

信息行: 在此处输入图像描述

这是我的项目的结构: 在此处输入图像描述

4

2 回答 2

0

您已MongoDBDialect在配置文件中指定。但是在控制台日志上,您正在NoopDialect运行HHH000400. 在下一行,你得到connection was null. 最后一行是,Unable to create requested service

于 2013-08-07T11:38:01.870 回答
0

hibernate.ogm.mongodb.port -> hibernate.ogm.datastore.port

我为这个困惑了两天

于 2020-12-21T15:04:26.957 回答