【发布时间】:2011-05-28 17:04:50
【问题描述】:
我有一个看起来像这样的 Hibernate 实体(为简洁起见,省略了访问器):
@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 查询来检索 FeatureList 的最新版本。以下查询类型有效:
Select f.name, max(f.version) from FeatureList f group by f.name
问题是它不会填充关键字段,我需要包含给定 FeatureList 的最高版本号记录的关键。如果我在 select 中添加 f.key 它将不起作用,因为它不在 group by 或聚合中,如果我将它放在 group by 整个事情停止工作,它只是给我每个版本作为一个单独的实体。
那么,有人可以帮忙吗?
【问题讨论】: