Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将SQL查询转换为等效的Hibernate条件_Java_Mysql_Hibernate - Fatal编程技术网

Java 将SQL查询转换为等效的Hibernate条件

Java 将SQL查询转换为等效的Hibernate条件,java,mysql,hibernate,Java,Mysql,Hibernate,我不熟悉hibernate,我在MYSQL中编写了一些查询,但我需要将这些查询转换为hibernate标准 SQL查询 select * from tableName where type = 'some Loss' and (datediff(detection_time,clearing_time )> '15 minutes' or action = 'ACTIVE') and id = '216'; 我尝试了一些使用标准的代码,但它似乎不起作用。您需要正确使用DATEDIFF,并

我不熟悉hibernate,我在MYSQL中编写了一些查询,但我需要将这些查询转换为hibernate标准

SQL查询

select * from tableName where type = 'some Loss' and (datediff(detection_time,clearing_time )> '15 minutes' or action = 'ACTIVE') and id = '216';

我尝试了一些使用标准的代码,但它似乎不起作用。

您需要正确使用
DATEDIFF
,并指定一个单位,即
MINUTE

返回指定的开始日期和结束日期之间交叉的指定日期部分边界的计数(有符号整数)

语法:DATEDIFF(datepart、startdate、enddate)

请尝试以下语法:

SELECT  *
FROM    tableName
WHERE   [type] = 'some Loss'
        AND ( DATEDIFF(MINUTE, detection_time, clearing_time) > 15
              OR action = 'ACTIVE'
            )
        AND id = '216';

这个问题以前有人问过。唯一的区别是,问题是关于MySQL的,而不是关于普通SQL的。但我认为你应该能够轻松地转移它

也许这有助于:

更新:

我刚才看到还有两个问题可以回答:


似乎使用了MySQL函数(2个参数)。我猜sql server是错的tag@StanislavLsql server已标记,但未标记。这与sql server有关吗?如果没有,请移除标签。