Sha*_*man 1 java postgresql hibernate jpa
我正在尝试使用PostgreSQL作为Hibernate/JPA的数据库.但是,执行简单查询时出错.我的查询如下:
SELECT DISTINCT p FROM UserProfile p ORDER BY :order
Run Code Online (Sandbox Code Playgroud)
当我执行查询时,我将传递一个类似"lastLoginDate"的值:order.但是,在尝试执行查询时,我收到以下异常:
ERROR org.hibernate.util.JDBCExceptionReporter - ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
Position: 781
Run Code Online (Sandbox Code Playgroud)
使用MySQL作为数据库,这个查询工作正常,但我们想转向PostgreSQL.我的整体配置和数据库连接是正确的,因为我看到正确创建的表.有什么我想念的吗?我需要设置配置属性吗?您可以给予的任何帮助将非常感谢.谢谢!
Postgresql禁止查询,因为它是不明确的:
Run Code Online (Sandbox Code Playgroud)there's actually a definitional reason for it. Consider SELECT DISTINCT x FROM tab ORDER BY y; For any particular x-value in the table there might be many different y values. Which one will you use to sort that x-value in the output?
这不是很清楚自己想要什么,但如果你打算将所有记录进行排序(一个例子吗?)":为了"栏,然后删除重复值,你可以做第一个具有明确ON:,然后重新排列:
SELECT p FROM
( SELECT DISTINCT ON (p) * from UserProfile ORDER BY p , :order)
AS UserProfileUniq
ORDER BY :order ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4408 次 |
| 最近记录: |