无法使用HibernateOGM连接到Mongodb

时间:2013-08-07 11:13:45

标签: java hibernate mongodb hibernate-ogm

我想使用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中的数据库,但我无法完成这项工作而且我得到了这些Infos系列,我该如何解决那个:

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... :)");

此代码没有输出,也没有例外

INFO行: enter image description here

这是我项目的结构: enter image description here

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

纠结了两天