问题标签 [hibernate-ogm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2077 浏览

java - 使用 Hibernate ORM 和 OGM 组合 SQL 和 NOSQL 数据库

我有一个使用 SQL Server 的应用程序。我想使用一个 NOSQL 存储,我决定它是图形,因为我的数据是高度连接的。Neo4j 是一种选择。

我希望能够在不触及应用层的情况下切换数据库,例如,只修改一些 xml 配置文件。我看过一些网上公开的例子,我发现 ORM 和 OGM 配置应用程序的方式不同,每个配置文件都有自己的名称,更重要的是有自己的结构。查看每个代码的代码发现它们在初始化会话的方式上也有所不同,这对我的想法来说听起来并不好。

我的问题是:“在不触及现有应用程序代码的情况下,在两个数据库之间切换是否有可能或可行——无需大量开销?我可以添加东西但不触及已经存在的东西”。在 SQL 和 NOSQL 数据库之间建立纯粹的多语言持久性是一个好主意,例如,使用 Hibernate。

在深入挖掘之前,我想听听你们的意见。我们这里有一个 Hibernate 人吗?

0 投票
1 回答
4239 浏览

java - NoSQL 数据存储提供程序:org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider

我正在尝试使用这个 persistence.xml 文件连接到 MongoDB。我的 mongodb 实例没有使用任何用户名或密码。

我正在使用这个创建一个 EntityManager 实例:

我看不出这段代码有什么问题......??

完整的错误堆栈如下:

0 投票
2 回答
3619 浏览

hibernate - 用于 Spring 配置的 Hibernate OGM 提供程序

我创建了一个可以使用 SQL Server 或 Neo4j 作为数据库的 Java 应用程序,而无需触及应用程序层,我只是修改了提供程序和连接信息,如下所示:

我现在必须使用 Spring 应用程序来做同样的事情。我已经开始学习 Spring,但发现了一个全新的逻辑。例如,有一个不同的 JPA 提供者:

这是否意味着没有办法与第一个应用程序一样?我的意思是没有 Hibernate OGM 提供程序,我可以代替HibernateJpaVendorAdapter它以使应用程序在 Neo4j 而不是 SQL Server 上运行?

提前致谢。

PS:我检查了 Spring Data,但在定义实体(@NodeEntity、@GraphId、@RelatedTo 等)方面发现了另一个差异。我被要求不要触摸应用程序代码。

0 投票
1 回答
918 浏览

neo4j - 休眠 ogm Neo4j 实体管理器错误

我正在尝试连接到 Neo4j 数据库。我的数据库是从 Neo4j 网站“Cineacts Actors &Movies”下载的。它位于 C:\NewMovies

这是我的应用程序:

我的持久性文件:

我的实体文件:

和我得到的错误:

线程“主”javax.persistence.PersistenceException 中的异常:[PersistenceUnit:ogm-jpa-tutorial] 无法在 org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915)在 org.hibernate.ejb.Ejb3Configuration 构建 EntityManagerFactory .buildEntityManagerFactory(Ejb3Configuration.java:890) 在 org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57) 在 org.hibernate.ogm.jpa.HibernateOgmPersistence.createEntityManagerFactory(HibernateOgmPersistence.java:93) 在 javax.persistence。 Persistence.createEntityManagerFactory(Persistence.java:63) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) at com.mycompany.hibernateneo.App.main(App.java:22) 原因:org.hibernate.MappingException :无法在 org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java: 135) 在 org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:385) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1742) 在 org.hibernate.ejb.EntityManagerFactoryImpl.(EntityManagerFactoryImpl.java:94) ) 在 org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905) ... 6 更多原因:org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.ogm.dialect. impl.GridDialectFactory] ​​在 org.hibernate.service.internal。AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:186) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org .hibernate.ogm.datastore.impl.DatastoreServicesInitiator.initiateService(DatastoreServicesInitiator.java:50) 在 org.hibernate.ogm.datastore.impl.DatastoreServicesInitiator.initiateService(DatastoreServicesInitiator.java:39) 在 org.hibernate.service.internal.SessionFactoryServiceRegistryImpl .initiateService(SessionFactoryServiceRegistryImpl.java:91) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) 在 org.hibernate.service.internal。AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.ogm.persister.OgmEntityPersister.(OgmEntityPersister.java:129) at org. hibernate.ogm.persister.SingleTableOgmEntityPersister.(SingleTableOgmEntityPersister.java:47) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 org.hibernate.persister.internal.PersisterFactoryImpl.create(PersisterFactoryImpl.java:163) ...11 更多原因:java.lang.IllegalArgumentException:在 org.hibernate.ogm.datastore.neo4j.impl.EmbeddedGraphDatabaseFactory.validate(EmbeddedGraphDatabaseFactory.java:61) 在 org.hibernate.ogm.neo4j.database.path 不能为空。 hibernate.ogm.datastore.neo4j.impl.EmbeddedGraphDatabaseFactory.initialize(EmbeddedGraphDatabaseFactory.java:52) 在 org.hibernate.ogm.datastore.neo4j.impl.Neo4jGraphDatabaseServiceFactoryProvider.load(Neo4jGraphDatabaseServiceFactoryProvider.java:44) 在 org.hibernate.ogm。 datastore.neo4j.impl.Neo4jDatastoreProvider.configure(Neo4jDatastoreProvider.java:77) 在 org.hibernate.ogm.service.impl.OgmSessionFactoryServiceRegistryImpl.configureService(OgmSessionFactoryServiceRegistryImpl.java:69) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl。initializeService(AbstractServiceRegistryImpl.java:159) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.createDialect(GridDialectFactoryInitiator.java:58) at org .hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java:49) 在 org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java:38) 在 org.hibernate.service.internal.SessionFactoryServiceRegistryImpl .initiateService(SessionFactoryServiceRegistryImpl.java:91) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) ... 26 更多AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.createDialect(GridDialectFactoryInitiator.java:58) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java: 49) 在 org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) 在 org.hibernate.service.internal 的 org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java:38) .AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) ... 26 更多AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.createDialect(GridDialectFactoryInitiator.java:58) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java: 49) 在 org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) 在 org.hibernate.service.internal 的 org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java:38) .AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) ... 26 更多createDialect(GridDialectFactoryInitiator.java:58) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java:49) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java:38)在 org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) ... 还有 26 个createDialect(GridDialectFactoryInitiator.java:58) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java:49) at org.hibernate.ogm.dialect.impl.GridDialectFactoryInitiator.initiateService(GridDialectFactoryInitiator.java:38)在 org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) ... 还有 26 个org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) 上的 SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) ... 还有 26 个org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) 上的 SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) ... 还有 26 个

请问,有什么想法吗?

0 投票
1 回答
423 浏览

hibernate - 使用 NamedQueries 在 MongoDB 中休眠 OGM

问题很简单 Hibernate OGM 当前是否真的支持 NamedQueries ?

0 投票
2 回答
2554 浏览

spring - 无法使用 MongoDB 打开 JPA EntityManager 进行事务处理

尝试将 Spring、Hibernate-OGM 与 MongoDB 一起使用。但是遇到交易问题。我知道 MongoDB 不支持它们,但是我想使用注释 @transactional 所以我不必开始,提交。

例外

数据库上下文.xml

持久性.xml

任何帮助表示赞赏。谢谢

0 投票
2 回答
1464 浏览

json - json 无法使用 MONGODB 和 Hibernate-OGM 序列化类型

我正在尝试使用 Hibernate NamedQuery 和 MongoDB 运行一个非常简单的查询。但是,当我尝试将 ENUM 字段添加到 WHERE 条件中时,它会在下面引发异常。在 WHERE 条件下没有枚举按预期工作

实体

枚举

道:

0 投票
1 回答
1950 浏览

java - java.lang.NoSuchMethodError:org.hibernate.ogm.cfg.OgmConfiguration.addAnnotatedClass

我正在构建一个名为Calorie Counter使用 Spring、Hibernate OGM 和 MongoDB 的项目。以下是我的HibernateUtil.java.

部署war文件时没有产生错误,但在浏览器上查看时会注意到以下运行时异常。

作为参考,我的pom.xml样子是这样的:

任何帮助将不胜感激。

0 投票
2 回答
252 浏览

neo4j - Hibernate OGM 在服务器模式下是否支持 Neo4j?

通过 Hibernate OGM for Neo4j 的不同示例,我可以发现 Neo4j 只能在嵌入式模式下使用。

如果有人在服务器模式下使用过 Hibernate OGM 和 Neo4j,请分享方法。

0 投票
1 回答
466 浏览

mongodb - 如何让 hibernate-ogm 在 jboss eap 6.2 上工作?

我正在尝试使用在 jboss eap 6.2 上工作的 monogodb 提供程序来获取 hibernate-ogm。

我已经配置了我的 persistence.xml

这是我使用实体管理器的课程:

但是当代码执行时,我得到以下异常:

知道我能做些什么来让它工作吗?