我要修复一个较旧的项目,其中有一个数据库查询出错。在表格中,有一个字段
viewTime TIME NOT NULL DEFAULT 0
我需要过滤出实际上将0作为其
viewTime
的行:Criteria query = /* create criteria */;
query.add(Restrictions.gt("viewTime", 0));
但是,由于
viewTime
被定义为日期:@Temporal(TemporalType.TIME)
private Date viewTime;
我遇到强制转换异常。另一方面,我不知道如何创建表示时间
0
的有效Date对象。我不能为此更改字段的类型。我可以在此
viewTime > 0
对象中表达Criteria
的任何方式吗? 最佳答案
我认为您必须将日期对象与(00/00/00)进行比较,但是任何API都不会像这样产生DATE值。
这可能将您的解决方案转换为null,请参考此link