时间的休眠标准> 0

时间:2013-06-04 12:27:44

标签: java sql hibernate

我要修复一个旧项目,其中有一个数据库查询出错。在表中,有一个字段

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吗?

2 个答案:

答案 0 :(得分:2)

我认为您必须将日期对象与(00/00/00)进行比较,但任何API都不会像它那样生成DATE值。

这可能是您的解决方案转换为null,请参阅此link

答案 1 :(得分:1)

在我看来,你可以试试这样的结构:

Criteria query = /* create criteria */;
query.add(Restrictions.gt("viewTime", new Date(0)));