我有以下作者实体。我想打印第一组(作者按年龄降序分组)。
例如,
作者
id name age
1 JK 20
2 NRN 25
3 APJ 35
4 RK 20
5 NRN 25
6 JK 20
7 RK 20
排序(ASC)后,它将是:
1 JK 20
4 RK 20
6 JK 20
7 RK 20
2 NRN 25
3 APJ 35
5 NRN 25
我想将第一组分组作为结果,即,
1 JK 20
4 RK 20
6 JK 20
7 RK 20
我尝试使用以下查询,但它返回所有结果。
String hql = "FROM Author A ORDER BY A.age ASC";
Query query = session.createQuery(hql);
List results = query.list();
请让我知道可以在查询中修改什么。
@Entity
public class Author {
@Id
private int id;
private String name;
private int age;
public Author() {
}
public Author(int id, String name, int age) {
super();
this.setId(id);
this.setName(name);
this.setAge(age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Author [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
谢谢。
一旦尝试此代码,它可能会有所帮助
List<Author> ages = session
.createNativeQuery("SELECT * FROM Author a WHERE a.age = (SELECT min(a.age) FROM Author a)")
.addEntity(Author.class).getResultList();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句