我要修复一个旧项目,其中有一个数据库查询出错了。在表格中,有一个字段
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 对象。为此,我也无法更改字段的类型。
有什么方法可以在此 Criteria
对象中表达 viewTime > 0
?
最佳答案
我认为您必须将日期对象与 (00/00/00) 进行比较,但任何 API 都不会像它那样生成 DATE 值。
这可能会将您的解决方案转换为 null 引用此 link
关于java - Hibernate 时间标准 > 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16917852/