Hibernate OGM 已停止维护

我们很高兴宣布发布 Hibernate OGM 5.3.1.Final

这是5.3分支的第一个维护版本。

与5.3.0.Final相比有哪些新功能?

这是一个维护版本,修复了与原生查询分页和投影相关的问题。

现在,对于使用聚合的MongoDB原生查询,分页工作得非常完美。

您可以在 发布说明 中查看更改的完整列表。

这个版本与5.3.0.Final完全兼容。

组件升级

  • Hibernate ORM 5.2.16.Final

在同一个查询中不允许使用投影和addEntity

现在无法执行带有投影的原生查询并将返回值提取为实体列表。

给定实体

@Entity
public class Movie {

        @Id
        private Integer id;
        private String name;
        private String author;
        private Integer year;

        public Movie() {
        }
}

如果我们尝试使用 投影addEntity 获取所有电影

session.createNativeQuery( "db.Movie.find( {}, { 'id' : 1, 'name' : 1  } )" )
        .addEntity( Movie.class )
        .uniqueResult();

将抛出异常,并将记录此消息

OGM000091: Projection and addEntity are not allowed in the same query on <Movie>

允许使用 投影 而不使用 addEntity

session.createNativeQuery( "db.Movie.find( {}, { 'id' : 1, 'name' : 1  } )" )
        .uniqueResult();

或者使用 addEntity 而不使用 投影

session.createNativeQuery( "db.Movie.find( {} )" )
        .addEntity( Movie.class )
        .uniqueResult();

这对于所有支持原生查询的方言都适用,目前撰写这些行时,这些方言是MongoDB和Neo4j方言。

这与Hibernate ORM的行为一致。

我在哪里可以获取它?

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

  • Infinispan

    • 嵌入式: org.hibernate.ogm:hibernate-ogm-infinispan-embedded:5.3.1.Final

    • 远程: org.hibernate.ogm:hibernate-ogm-infinispan-remote:5.3.1.Final

  • MongoDBorg.hibernate.ogm:hibernate-ogm-mongodb:5.3.1.Final

  • Neo4j: org.hibernate.ogm:hibernate-ogm-neo4j:5.3.1.Final

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

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

如何与我联系?

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

我们期待您的反馈!


返回顶部