SpringBoot Jpa 分頁的一些問題
阿新 • • 發佈:2019-01-06
使用自帶預設分頁的方式
@Test
public void findAll() {
Sort sort = new Sort(Direction.DESC, "id");
Pageable pageable = PageRequest.of(1, 10, sort);
Page<User> list = userRepository.findAll(pageable);
System.out.println(list);
}
使用Query分頁的方式
@Query("from User u where u.token=?1 and u.type=2 and u.isDelete=0")
Page<User> findUsersByToken(String token, Pageable pageable);
注意:
1、Query中的User必須帶別名,否則會報:
unexpected token: where near line 1, column 14 [select count(where) from com.swj.entity.User where token=?1 and type=2 and isDelete=0]
2、Sqlserver需要指定方言版本,否則會報:
java.lang.UnsupportedOperationException: query result offset is not supported
Microsoft SQL Server 2000 -> org.hibernate.dialect.SQLServerDialect
Microsoft SQL Server 2005 -> org.hibernate.dialect.SQLServer2005Dialect
Microsoft SQL Server 2008 -> org.hibernate.dialect.SQLServer2008Dialect