当前使用版本(必填,否则不予处理)
3.2.0
该问题是如何引起的?(确定最新版也有问题再提!!!)
目前更新到3.3.2版本问题一样存在
PostgreSQL使用WITH xxx AS()查询,使用Page中的OrderItem排序,拼接分页sql时会把WITH xxx AS()这段SQL忽略,导致查不到此表抛出了异常;
如果不使用OrderItem排序,正常不会出现此问题;
重现步骤(如果有就写完整)
代码
//sevice调用
@Autowired
private AreaBaseDao areaBaseDao;
public IPage testWith(PageFrom param){
Page page = new Page<>(param.getCurrPage(), param.getPageSize());
page.addOrder(OrderItem.desc("id"));
return areaBaseDao.testWith(page);
}
//dao
IPage testWith(IPage page);
//dao.xml
WITH test AS(
SELECT * FROM t_area_base
)
SELECT t.* FROM test AS t
//sql捕捉工具打印执行的sql
-- 797 ==>
WITH test AS (SELECT *
FROM t_area_base)
SELECT COUNT(1)
FROM test AS t;
----------------------------
-- 798 ==>
SELECT t.*
FROM test AS t ORDER BY id DESC
LIMIT 10 offset 0;
报错信息
### SQL: SELECT t.* FROM test AS t ORDER BY id DESC limit ? offset ?
### Cause: org.postgresql.util.PSQLException: ERROR: relation "test" does not exist