覆盖Hibernate OGM用户类型限制?

时间:2015-03-01 13:31:29

标签: java mongodb jpa mlab hibernate-ogm

我最近在沙箱平台上创建了一个mongolab帐户(因此没有管理员权限)。 我有一个简单的测试用例应用程序来集成Hibernate OGM + JPA 2.1和我的mongo数据库。 当我尝试运行我的应用程序时,我得到以下错误(重要部分):

Caused by: com.mongodb.CommandFailureException: { "serverUsed" : "ds062797.mongolab.com:62797" , "ok" : 0.0 , "errmsg" : "not authorized on admin to execute command { listDatabases: 1 }" , "code" : 13}
at com.mongodb.CommandResult.getException(CommandResult.java:76)
at com.mongodb.CommandResult.throwOnError(CommandResult.java:131)
at com.mongodb.Mongo.getDatabaseNames(Mongo.java:397)
at org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.extractDatabase(MongoDBDatastoreProvider.java:152)
... 34 more

我已经在Hibernate ORM的文档here中进行了一些挖掘,以下几行引起了我的注意:

  

使用USERNAME定义的用户必须具有创建新数据库的权限。数据库将具有使用DATABASE定义的名称。接受“真实”或“虚假”。

有什么办法可以在Hibernate OGM中覆盖它吗?或者有人使用其他提供商没有这个限制? (试图设置eclipselink没有运气)

P.S。:我知道我可以使用创建MongoClient的MongoDB java驱动程序连接到mongolab,就在那里。我想坚持JPA设置。

1 个答案:

答案 0 :(得分:1)

似乎你遇到了OGM-733,最近刚修好了。它应该适用于Hibernate OGM 4.1.2.Final。