我有一個實體休眠標準
public class CommissionSummary {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(length = 100)
private String advisorCode;
@Column(length = 100)
private String advisorName;
private String advisorCodeParent;
@Column(length = 100)
private String advisorNameParent;
@Column(length = 100)
private String advisorPost;
@Column
private Double percentage;
@Column
private Double diffPercentage;
@Column
private Double saleAmount;
@Column
private Long saleCount;
@Column
**private Double commissionAmount;
@Column
private Integer month;
@Column
private Integer year;**
//Getter Setter
}
在屏幕上用戶正在輸入的標準來獲取2個日期之間的日期。
Ex。 2012年1月1日至2012年7月30日
在CommissionSummary實體中沒有日期列,但它有月份和年份2個單獨的列。
我想根據月份和年份欄獲取用戶給出的從日期到日期的CommissionSummary記錄。
那麼如何使用Hibernate Criteria/Restrictions來實現這個?
注意:日期字段對於從當前輸入的用戶沒有任何意義。
它的工作原理,只需很少的Syntaxchanges是必需的。這裏是生成的SQL:SELECT this _。* FROM Commissionsummary this_ WHERE((this_.year = 2011 AND this_.month> = 11)OR(this_.year> 2011 AND this_.year <2012)OR(this_.year = 2012 AND this_.month <= 2)) – 2012-07-17 04:51:06