Hibernate OGM 已停止维护

我很高兴向大家宣布 Hibernate OGM 的新版本发布。

Hibernate OGM 现在可以将 JP-QL 查询转换为 Cypher 查询,用于 Neo4j。我们改进了 CouchDB 和 MongoDB 中用于关联的 JSON 表示,使其更加简洁。我们还对内部进行了多个错误修复和改进,您可以在发布说明中了解更多

与以往一样,您可以从 SourceForge 下载发布包,或者使用 Maven、Gradle 等工具从 JBoss Nexus 仓库服务器 获取 JAR 文件。GAV 坐标为

  • org.hibernate.ogm:hibernate-ogm-core:4.1.0.Beta5 用于 OGM 引擎,以及
  • org.hibernate.ogm:hibernate-ogm-<datastore>:4.1.0.Beta5,具体取决于您要使用的后端。

从 JP-QL 到 Cypher

例如,如果您执行以下 JP-QL 查询

from Hypothesis h where h.author IN ('alma', 'alfred')

OGM 将在 Neo4j 上执行以下 Cypher 查询

MATCH (h:Hypothesis) WHERE ANY(_x_ IN ["alma", "alfred"] WHERE h.author = _x_) RETURN h

目前可用的 JP-QL 构造如下

  • 简单比较
  • IS NULLIS NOT NULL
  • 布尔运算符 ANDORNOT
  • LIKEINBETWEEN
  • ORDER BY

在 MongoDB 和 CouchDB 中的关联映射更自然

在之前的版本中,具有关联的实体看起来像以下 JSON

{
   "_id": "4f5b48ad",
   ...
   "rows": [
       {
           "bankAccounts_id": "7873a2a7"
       }
   ]
}

我们在“rows”字段中移除了 id 的名称,现在它将看起来像

{
   "_id": "4f5b48ad",
   ...
   "rows": [
       {
           "7873a2a7"
       }
   ]
}

接下来是什么?

在Neo4j方面,还需要进行一些工作,以使实体映射更加自然。我们还想在几个地方添加缓存以提高性能(《OGM-541》:https://hibernate.atlassian.net/browse/OGM-541,《OGM-515》:https://hibernate.atlassian.net/browse/OGM-515,《OGM-522》:https://hibernate.atlassian.net/browse/OGM-522)。

我们还在讨论针对《OGM-465》的解决方案,即生成非事务数据库上失败操作的错误报告。

您可以在邮件列表上发表意见,在论坛上提问,或者在问题跟踪器中报告任何错误或功能请求。


返回顶部