Ich*_*aki 0 sql oracle postgresql jpa
我正在使用JPA Criteria API,我有一个要求我必须使用UNION子句,并且因为JPA不支持set操作,所以我必须创建一个本机sql查询.
在此查询中,我必须使用JPA Criteria API限制返回的行数,具体操作如下:
typedQuery.setFirstResult(gridParams.getStartRow());
typedQuery.setMaxResults(gridParams.getEndRow() - Math.max(0, gridParams.getStartRow()));
Run Code Online (Sandbox Code Playgroud)
我们的应用程序在Oracle 12c和Postgres中运行,因此我遇到的问题是Oracle和Postgres使用不同的语法来限制结果.
我怎么解决这个问题?
两个数据库系统都支持ANSI标准fetch first:
select *
from some_table
order by something
OFFSET 10 ROWS
FETCH FIRST 10 ROWS ONLY;
Run Code Online (Sandbox Code Playgroud)
Oracle开始用12.1支持它