Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用JPA实现树迭代器_Java_Jpa - Fatal编程技术网

Java 用JPA实现树迭代器

Java 用JPA实现树迭代器,java,jpa,Java,Jpa,我正在编写spring启动应用程序。我有HashTree结构,按特定字段排序。我有一个特定的方法在树中迭代,因此如果它找到一个值(用作比较器),它将返回该值,而不检查其他值 使用代码时,它将如下所示: class Storage { TreeSet<Book> tree = new TreeSet<>(Comparator.comparingInt(Book::getNumberOfPages)); public Book getBookWithSma

我正在编写spring启动应用程序。我有HashTree结构,按特定字段排序。我有一个特定的方法在树中迭代,因此如果它找到一个值(用作比较器),它将返回该值,而不检查其他值

使用代码时,它将如下所示:

class Storage {

    TreeSet<Book> tree = new TreeSet<>(Comparator.comparingInt(Book::getNumberOfPages));

    public Book getBookWithSmallestNumberOfPagesButGreaterThanSpecific(int number) {
       iterator = tree.iterator();      
       while (iterator.hasNext()) {
           Book book = iterator.next();
           if (book.getNumberOfPages() > number) {
               return book;
           }
       }
       return null;
    }
}
类存储{
TreeSet tree=新树集(Comparator.comparingit(Book::getNumberOfPages));
页数小于特定页数(整数)的公共书籍GetBook{
迭代器=tree.iterator();
while(iterator.hasNext()){
Book Book=iterator.next();
if(book.getNumberOfPages()>number){
还书;
}
}
返回null;
}
}
请不要篡改那个代码,只是举个例子,真正的代码要复杂得多

所以我想使用Spring JPA做同样的事情,并将书籍存储在数据库中

我的计划是:

  • 在numberOfPages列上创建索引,以便按asc顺序进行迭代
  • 获取指向第一个数据库记录的路径
  • 返回当前元素或获取光标中的下一个元素
问题是我不知道如何获取游标,所有JPA方法都返回列表中的所有元素

请挑战我的解决方案。我不知道我的行动方向是否正确。我是JPA的新手

您可以使用

Pageable Pageable=PageRequest.of(页面、大小、方向、属性);
列表findByProjectId(字符串projectId,可分页);

是,但如何选择页面大小?使用大小为1的Pageable是否是最佳解决方案?页码是页码。大小是页面上的记录数。因此,制作1号没有任何意义。更多细节。希望能有帮助。
Pageable pageable = PageRequest.of(page, size, direction, property);
List<ENTITY> findByProjectId(String projectId, Pageable pageable);