我有一个实体休眠标准
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