java查询以获取按列的不同属性排序的所有对象?
我正在使用Hibernate,我想执行以下查询:
SELECT e FROM Posicao e WHERE e.id IN (SELECT DISTINCT p.papel FROM Posicao p)
但我得到以下信息:
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. ********** Error **********
ERROR: operator does not exist: integer = character varying
我相信它缺少施法命令,但我想不出来。我的列id由整数组成,而其他列id由VARCHAR组成
例如,当我用e.papel更改e.id时,效果很好,但这不是我想要的
有人知道怎么修吗
# 1 楼答案
你可以选择:
并不是说我删除了
distinct
,这在in
中是不必要的。不过,你的问题的目的仍然相当不清楚。无论如何,我建议使用exists
而不是in
,因为许多数据库倾向于更好地优化它: