我需要获得一个等效于可以使用Hibernate运行的SQL。由于@等特殊字符,因此无法正常工作。
SELECT place from (select @curRow := @curRow + 1 AS place, time, id FROM `testing`.`competitor` JOIN (SELECT @curRow := 0) r order by time) competitorList where competitorList.id=4;
我的应用程序正在管理比赛的结果。上面的查询是为特定竞争对手选择的,它是根据他/她的整体时间来确定的。
为简单起见,我仅列出COMPETITOR表结构(仅相关字段)。我的实际查询涉及一些联接,但它们与以下问题无关:
CREATE TABLE competitor {
id INT,
name VARCHAR,
time INT
}
请注意,竞争对手尚未按时间排序,因此,该ID不能用作排名。同样,可能有两个竞争对手的总时间相同。
知道如何使用Hibernate进行这项工作吗?
最佳答案
没有模式很难说,但是您可以使用类似
SELECT COUNT(*) FROM testing ts
WHERE ts.score < $obj.score
我使用$来代表需要引用活动对象的任何Hibernate表示法。