1. 程式人生 > >SpringBoot Jpa 分頁的一些問題

SpringBoot Jpa 分頁的一些問題

使用自帶預設分頁的方式

@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