java - Hibernate 时间标准 > 0

标签 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 对象。为此,我也无法更改字段的类型。

有什么方法可以在此 Criteria 对象中表达 viewTime > 0

最佳答案

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

这可能会将您的解决方案转换为 null 引用此 link

关于java - Hibernate 时间标准 > 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16917852/

相关文章:

java - Caused by: java.lang.IllegalArgumentException: error at::0 找不到引用的切入点

MySQL过程循环错误

sql - 无法识别指定的设置 'INSTALL'。错误代码 0x84B40003

java.lang.NoSuchMethodError : org. hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/属性

java - Hibernate SQL执行日志

java - 为什么数组列表没有显示在回收器 View 中?

java - 如何使用 Spring RestTemplate 在 GET 调用中传入 Java 列表以在 Controller 中使用

java - 如何设置编辑文本框的布局边距?

mysql - MySQL 中何时使用单引号、双引号和反引号

java - 为什么 load() 的工作方式与 Hibernate 中的 get() 相同?