可能重复:
使用 MySQL 的 SQL 查询
我使用 Java 中的 Jersey 实现了一个 Rest Web 服务(JAX-RS)。我使用休眠从 MySQL 数据库中获取数据。使用此查询:
(Select distinct deliverable.id from Task as t where t.project.id= :id And t.user.username = :name order by t.id desc")
.setMaxResults(3)
.setLong("id", projectId)
.setString("name", username)
.list();
我有一个正确的结果是:[275,51,286]。这是为数据库中每个 id 提供的键:
id key
---------------------
275 2.0
51 cm
286 19.87
现在我使用这个查询(除了deliverable.key而不是deliverable.id,一切都是一样的):
(Select distinct deliverable.key from Task as t where t.project.id= :id And t.user.username = :name order by t.id desc")
.setMaxResults(3)
.setLong("id", projectId)
.setString("name", username)
.list();
结果是:["2.0","19.88","19.99"]。第一个是对的,但是第二个和第三个是完全不同的键。
也许它可以通过“别名”或任何其他方式来解决。你的建议?