Hibernate 在JPA2 critera API中是否可以执行此SQL查询?

Hibernate 在JPA2 critera API中是否可以执行此SQL查询?,hibernate,jpa-2.0,criteria-api,Hibernate,Jpa 2.0,Criteria Api,从tbl中选择* 其中version=从tbl中选择MAXversion,其中t2.entityId=t1.entityId Tbl描述实体的不同版本,其中entityId和版本的每个组合都是唯一的。我想找到整行中每个EntityID的最高版本,而不仅仅是版本号。标准API是否可能实现这一点?我所看到的子查询的唯一用途只是使用IN,而不是比较值。我还考虑将子查询转换为复杂的左连接,但CriteriaAPI不支持自定义ON语句 这可能吗?由于查询是非常动态的,如果可以使用JPQL,我宁愿避免使用J

从tbl中选择* 其中version=从tbl中选择MAXversion,其中t2.entityId=t1.entityId

Tbl描述实体的不同版本,其中entityId和版本的每个组合都是唯一的。我想找到整行中每个EntityID的最高版本,而不仅仅是版本号。标准API是否可能实现这一点?我所看到的子查询的唯一用途只是使用IN,而不是比较值。我还考虑将子查询转换为复杂的左连接,但CriteriaAPI不支持自定义ON语句


这可能吗?由于查询是非常动态的,如果可以使用JPQL,我宁愿避免使用JPQL。

使用criteriaBuilder.inpath.valuesubquery解决