package com.nurkiewicz.jdbcrepository.sql; import com.nurkiewicz.jdbcrepository.TableDescription; import org.springframework.data.domain.Pageable; /** * @author Tomasz Nurkiewicz * @since 1/16/13, 10:25 PM */ public class DerbySqlGenerator extends SqlGenerator { public static final String ROW_NUM_COLUMN = "ROW_NUM"; public static final String ROW_NUM_COLUMN_CLAUSE = "SELECT * FROM (SELECT ROW_NUMBER() OVER () AS " + ROW_NUM_COLUMN + ", t.* FROM ("; public DerbySqlGenerator(String allColumnsClause) { super(allColumnsClause); } public DerbySqlGenerator() { } @Override public String selectAll(TableDescription table, Pageable page) { final int offset = page.getPageNumber() * page.getPageSize(); return super.selectAll(table, page) + " OFFSET " + offset + " ROWS FETCH NEXT " + page.getPageSize() + " ROWS ONLY"; } @Override protected String limitClause(Pageable page) { return ""; } }