У меня есть объект 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. Если я добавлю f.key в select, он не будет работают, потому что он не входит в группу или агрегат, и если я помещаю его в группу, все это перестает работать, и он просто дает мне каждую версию как отдельный объект.
Итак,кто-нибудь может помочь?