分页无法通过 Oracle11g 在 Spring Boot 中工作

问题描述 投票:0回答:1

我正在尝试在 Spring boot 应用程序中使用分页并使用 Oracle11g,但它给了我以下错误。

Caused by: org.hibernate.exception.SQLGrammarException: JDBC exception executing SQL [select au1_0.user_id,au1_0.created_on,au1_0.created_by,au1_0.email,au1_0.first_name,au1_0.last_login_date,au1_0.last_name,au1_0.msisdn,au1_0.password,au1_0.security_code,au1_0.status from user au1_0 offset ? rows fetch first ? rows only] [ORA-00933: SQL command not properly ended.

请帮助我,因为我是 Spring boot 的新手。预先感谢您。

我正在尝试在 Spring boot 应用程序中使用分页并使用 Oracle11g

控制器

PageRequest pageRequest = PageRequest.of(0, 1);
Page<AdminUser> auList = adminUserService.getAllUsers(pageRequest);

服务

public Page<AdminUser> getAllUsers(Pageable pageable);

服务实现

@Override
public Page<AdminUser> getAllUsers(Pageable pageable) {     
    return adminUserRepository.findAll(pageable); 
}
spring-boot spring-mvc oracle11g
1个回答
0
投票

Oracle 11g 不支持语法

offset ? rows fetch first ? rows only
;这是在 Oracle 12 中引入的。

您需要将 Spring Boot 配置为使用

org.hibernate.dialect.Oracle10gDialect
11g 使用与 10g 相同的方言),它将使用
ROWNUM
psuedo-column 而不是
OFFSET ... FETCH ...
生成分页查询。

© www.soinside.com 2019 - 2024. All rights reserved.