Hibernate OGM 已停止维护

我们很高兴地宣布,Hibernate OGM 5.4.0.Alpha1版本已发布。

Hibernate OGM 现已兼容 Hibernate ORM 5.3(仍为候选版本)和 JPA 2.2。我们支持 Infinipan 9.2,并且 JBoss 模块现在作为 WildFly 功能包 提供。

您可以在 MongoDB 上运行服务器端 JavaScript 或者在 Infinispan 嵌入式中运行 Java 代码,就像它们是存储过程一样 使用 JPA 方法

当使用 Infinispan 远程方言时,现在可以使用 @CacheConfiguration 注解 配置新的缓存

所有更改都详细描述在 发布说明 中。

JBoss 模块发生了什么变化?

用于在 WildFly 或 JBoss EAP 中使用的 Hibernate OGM JBoss 模块现在以 WildFly 功能包的形式分发。这些功能包也可以通过 WildFly Swarm 使用。

这意味着从 Hibernate OGM 5.4 版本开始,您将无法在 SourceForge 上找到包含它们的 zip 文件。

这些模块现在以多个功能包的形式分发,这意味着组件被分成细粒度的包,允许您选择所需的部件。

请参阅文档 了解有关可用功能包及其使用方法的更多信息。

您还可以在 GitHub 上的 Hibernate OGM 仓库中找到快速入门指南

将JavaScript代码作为MongoDB中的存储过程

以下是一个示例,说明如何将服务器端函数(本例中的findByBrandJS)注册为存储过程并调用它

@Entity
@NamedStoredProcedureQueries({
        @NamedStoredProcedureQuery(name = "find_cars_by_brand", procedureName = "findByBrandJS", parameters = {
                @StoredProcedureParameter(mode = ParameterMode.REF_CURSOR, type = Void.class),
                @StoredProcedureParameter(mode = ParameterMode.IN, type = String.class)
        }, resultSetMappings = "carMapping")
})
@SqlResultSetMapping(name = "carMapping", entities = { @EntityResult(entityClass = Car.class) })
public class Car {
  ...
}
javax.persistence.EntityManager em = ...

StoredProcedureQuery storedProcedureQuery = em.createNamedStoredProcedureQuery( "find_cars_by_brand" );
storedProcedureQuery.setParameter( 1, "Bentley" );
List<Car> cars = storedProcedureQuery.getResultList();

请注意,这是一段JPA代码,它将适用于所有支持存储过程和位置参数的方言。

Apollo Ignite 5.3.1.Final的Hibernate OGM方言

我们还发布了针对Hibernate OGM 5.3.1.Final和Apollo Ignite的新方言:Hibernate OGM Apollo Ignite 5.3.1.Final

您可以使用以下Maven坐标将方言包含到您的项目中

  • org.hibernate.ogm:hibernate-ogm-ignite:5.3.1.Final

这个方言是由社区开发的,目前仍处于实验阶段。请告诉我们您对它的看法。

我从哪里获得Hibernate OGM?

您可以使用以下Maven坐标将您选择的方言包含到您的项目中

  • Infinispan

    • 远程:org.hibernate.ogm:hibernate-ogm-infinispan-remote:5.4.0.Alpha1

    • 嵌入式:org.hibernate.ogm:hibernate-ogm-infinispan-embedded:5.4.0.Alpha1

  • MongoDBorg.hibernate.ogm:hibernate-ogm-mongodb:5.4.0.Alpha1

  • Neo4jorg.hibernate.ogm:hibernate-ogm-neo4j:5.4.0.Alpha1

    • Infinispan Remote:org.hibernate.ogm:hibernate-ogm-featurepack-infinispan-remote:5.4.0.Alpha1

    • Infinispan Embedded:org.hibernate.ogm:hibernate-ogm-featurepack-infinispan-embedded:5.4.0.Alpha1

    • MongoDB:org.hibernate.ogm:hibernate-ogm-featurepack-mongodb:5.4.0.Alpha1

    • Neo4j:org.hibernate.ogm:hibernate-ogm-featurepack-neo4j:5.4.0.Alpha1

或者,您可以从Sourceforge下载包含所有二进制文件、源代码和文档的存档。

如果您对可用的版本感兴趣,可以检查官方的Hibernate OGM下载页面

如何与我联系?

您可以通过以下渠道找到我们

贡献

一些新功能是由Pavel Novikov、Sergey Chernolyas、Viet Nguyen和Raghav Jha贡献的。非常感谢!

我们期待听到您的反馈!


回到顶部