具有最大值的实体的 HQL 查询
我有一个如下所示的休眠实体(为简洁起见,省略了访问器):
@Entity
@Table(name="FeatureList_Version")
@SecondaryTable(name="FeatureList",
pkJoinColumns=@PrimaryKeyJoinColumn(name="FeatureList_Key"))
public class FeatureList implements Serializable {
@Id
@Column(name="FeatureList_Version_Key")
private String key;
@Column(name="Name",table="FeatureList")
private String name;
@Column(name="VERSION")
private Integer version;
}
我想创建一个检索最新版本的功能列表的 HQL 查询。以下查询排序的工作原理:
Select f.name, max(f.version) from FeatureList f group by f.name
麻烦的是,它不会填充键字段,我需要包含具有给定 FeatureList 最高版本号的记录的键。如果我在选择中添加f.key它将不起作用,因为它不在组或聚合中,如果我按整个事物将其放入组中,它将停止工作,它只是将每个版本作为一个单独的实体。
那么,任何人都可以帮忙吗?