我有像这样的实体类
@Entity
public class CheckInstrument extends BaseEntity {
public CheckInstrument() {
}
@Column(nullable = false)
private Date currentCheck;
@Column(nullable = false)
private Long periodicity;
@Column
private Date nextCheck;
@Column
private boolean isExpired;`
(getters and setters)
我的问题是
nextCheck
,例如添加periodicity(month)
currentCheck
isChecked
属性,将nextCheck
与当前值进行比较
系统日期。答案 0 :(得分:1)
我认为你的问题是纯日期计算问题,与Hibernate或jpa实体无关。
所有代码都不是用IDE编写的,也未经过测试:
periodicity(month)
添加到currentCheck
您可能需要查看Calendar
课程
Calendar cal = Calendar.getInstance();
cal.setTime(currentCheck);
cal.add(Calendar.MONTH,1);
currentCheck = cal.getTime();
java.util.Date
实现Comparable
,因此您可以比较两个日期,例如:
int result = date1.compareTo(date2);
问题:nextCheck.compareTo(new Date())
IMO,isExpired / overdued
不应添加为数据库字段。因为它是相关的当前日期。通过计算获得该标志会更好,以使其成为实时。嗯,无论如何都符合你的要求。