У меня есть sql запрос:
@Query(nativeQuery = true, value = "select " +
"b.height as blockHeight, " +
"cast(date_trunc('day', TO_TIMESTAMP(b.time)) as date) as date, " +
"t.address, " +
"round(t.stake_size, 2) as stakeSize, " +
"(extract(epoch from date_trunc('second',now())) - t.time) as stakeAge " +
"from blocks b " +
"right join transactions t on b.id = t.block_id " +
"where b.coin_id = ?1 and t.address notnull ",
countQuery = "select count(b.id) as counter " +
"from blocks b " +
" right join transactions t on b.id = t.block_id " +
"where b.coin_id = ?1 " +
"and t.address notnull")
Page<StakesDto> getTopStakes(Coin coin, Pageable pageable);
это приводит к запросу:
2019-03-12 22:46:19 +06 ERROR: column b.stakeage does not exist at character 331
2019-03-12 22:46:19 +06 STATEMENT: select b.height as blockHeight, cast(date_trunc('day', TO_TIMESTAMP(b.time)) as date) as date, t.address, round(t.stake_size, 2) as stakeSize, (extract(epoch from date_trunc('second',now())) - t.time) as stakeAge from blocks b right join transactions t on b.id = t.block_id where b.coin_id = $1 and t.address notnull ORDER BY b.stakeAge asc
поэтому проблема в том, что он автоматически добавляет псевдоним таблицы «b». к полю, которое прошло через Pageable, называется стейк-лист.
как с этим бороться?