我需要类似于此 SQL 查询的内容:
SELECT * FROM foo f ORDER BY GREATEST(f.bar_date, f.baz_date)
由于并非所有 RDBMS 系统都支持 GREATEST
函数,理想情况下我希望 JPA 实现为底层数据库生成正确的 SQL 查询。我的目标数据库是 Oracle、SQL Server 和 PostgreSQL。
最佳答案
JPQL 允许 FUNCTION 运算符调用数据库函数。
Oracle 和 Postgres 支持 GREATEST,我认为 SQL Server 不支持,因此您可以为此编写自己的函数。
您还可以将 CASE 函数与 > 结合使用。
关于jpa - JPQL/JPA 查询基于两列的最大/最大值对实体进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18844145/