簡體   English   中英

我們如何在Hibernate中按日期對結果進行排序?

[英]How can we sort the result by date in Hibernate?

我正在使用Hibernate從數據庫中獲取JSON對象。 我希望JSON對象應包含最近創建的VGI的僅前兩個的所有詳細信息。 但是我不知道如何限制結果集,然后在不使用HQL查詢時根據創建的日期進行排序。 它正在從MySQL數據庫中獲取所有詳細信息。

import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "vgi", catalog = "coworkee5")
public class VGI {
@ManyToOne
@JoinColumn(name = "employee_id", referencedColumnName = "id", insertable = false, updatable = false)
private Employees employees;

public Employees getEmployees() {
    return employees;
}

public void setEmployees(Employees employees) {
    this.employees = employees;
}

@OneToMany(cascade = CascadeType.ALL, targetEntity = VgiGoals.class, mappedBy = "vgi")
private List<VgiGoals> vgiGoals;

public List<VgiGoals> getVgiGoals() {
    return vgiGoals;
}

public void setVgi_goals(List<VgiGoals> vgiGoals) {
    this.vgiGoals = vgiGoals;
}

public VGI() {
}

@Id
@Column(name = "id")
private String id;
@Column(name = "title")
private String vgi;
@Column(name = "employee_id")
private String employee_id;
@Column(name = "created_on")
private String created;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getvgi() {
    return vgi;
}

public void setvgi(String vgi) {
    this.vgi = vgi;
}

public String getEmployee_id() {
    return employee_id;
}

public void setEmployee_id(String employee_id) {
    this.employee_id = employee_id;
}


public String getCreated() {
    return created;
}

public void setCreated(String created) {
    this.created = created;
}

}

添加@OrderBy批注,如下所示。

@OneToMany(cascade = CascadeType.ALL, targetEntity = VgiGoals.class, mappedBy = "vgi")
@OrderBy("createdOn DESC")
private List<VgiGoals> vgiGoals;

注意:用VgiGoals類中的日期字段替換createdOn。

對於限制,請在查詢中使用以下方法。

query.setFirstResult(1).setMaxResults(10);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM