我们很高兴宣布发布 Hibernate OGM 5.3.1.Final。
这是5.3分支的第一个维护版本。
与5.3.0.Final相比有哪些新功能?
这是一个维护版本,修复了与原生查询分页和投影相关的问题。
现在,对于使用聚合的MongoDB原生查询,分页工作得非常完美。
您可以在 发布说明 中查看更改的完整列表。
这个版本与5.3.0.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坐标将您选择的方言包含到项目中
或者,您可以从Sourceforge下载包含所有二进制文件、源代码和文档的存档。
如果您对可用的版本感兴趣,可以查看官方的Hibernate OGM 下载页面。