【发布时间】:2020-10-01 09:54:52
【问题描述】:
所以,我需要将以下查询翻译成 Java
SELECT * FROM table WHERE TIME(date) BETWEEN TIME(startTime) AND TIME(endTime)
date 是一个日期时间列。 startTime 和 endTime 都是局部变量。
我现在使用的技术是 Spring 和 Hibernate。
以下解决方案
query.add(
Restrictions.sqlRestriction(
"TIME(date) between TIME('?') and TIME('?')", values, types
);
,其中values 变量是具有startTime 和endTime 的数组,而types 变量是具有values 各自类型(字符串)的数组,遗憾的是与H2 不兼容,因为 TIME 函数没有实现。我确实知道HOUR、MINUTE 和SECOND 函数已实现并正常工作。
我自己还没有想出实现它的方法,也无法在网上找到任何解决方案。有谁知道我该如何克服这个问题?
【问题讨论】:
标签: java spring hibernate spring-data-jpa h2