我是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';
我尝试使用标准的代码很少,但它似乎没有用。
答案 0 :(得分:0)
您需要正确使用DATEDIFF
并指定一个单位,即MINUTE
。
请参阅Documentation - DATEDIFF (Transact-SQL)
返回指定的startdate和enddate之间交叉的指定日期部分边界的计数(有符号整数)。
语法: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';
答案 1 :(得分:0)
之前曾问过这个问题。唯一的区别是问题是关于MySQL而不是普通的SQL。但我认为你应该能够轻松转移它。
也许这会有所帮助:
Converting MySQL query to Hibernate Criteria
更新:
我刚看到还有两个问题可以提供帮助: