当前位置: 首页 > 知识库问答 >
问题:

如何在sping-data-rest中将Page映射到Page

何睿范
2023-03-14

当我用分页和排序存储库访问数据库时。findAll(可分页)I getPage

还有佩奇。map是不可能的,因为我们不支持Java8。如何手动创建带有映射对象的新页面?


共有3个答案

危晨
2023-03-14

在java8中:

Page<ObjectDto> entities = 
 objectEntityRepository.findAll(pageable)
 .map(ObjectDto::fromEntity);

其中fromEntity是ObjectDto上包含转换逻辑的静态方法。

楮乐邦
2023-03-14

在Spring Data 2中,Page map方法采用Function而不是Converter,但它的工作原理与@阿里Dehghani描述的基本相同。

使用函数:

Page<ObjectEntity> entities = objectEntityRepository.findAll(pageable);
Page<ObjectDto> dtoPage = entities.map(new Function<ObjectEntity, ObjectDto>() {
    @Override
    public ObjectDto apply(ObjectEntity entity) {
        ObjectDto dto = new ObjectDto();
        // Conversion logic

        return dto;
    }
});
虞滨海
2023-03-14

您仍然可以在没有lambda表达式的情况下使用Page.map

Page<ObjectEntity> entities = objectEntityRepository.findAll(pageable);
Page<ObjectDto> dtoPage = entities.map(new Converter<ObjectEntity, ObjectDto>() {
    @Override
    public ObjectDto convert(ObjectEntity entity) {
        ObjectDto dto = new ObjectDto();
        // Conversion logic

        return dto;
    }
});
 类似资料:
  • 我创建了一个maven项目,并添加了我需要的所有依赖项。我有一些使用spall-data-jpa的存储库,我添加了一些集成测试。 现在,如果我知道它是基于springmvc的,我需要添加spring data rest的ontop。但是我发现的所有例子,我需要添加spring boot来启动应用程序。我还注意到所有新的spring项目都使用spring boot。这意味着我必须学习并在我的项目中使

  • 如何在Spring Data Jpa中将映射映射到存储库中的查询? 下面是我的通用存储库源代码。 如下所示,我希望接收queryParams作为参数,并将queryParams对应的键和值映射到where子句。 因为它是一个GenericRepository,所以无法实现,我想把映射的内容放在@Query中。 我一直在搜索,但我找不到任何关于它的信息,所以我不知道如何解决这个问题。 如果有办法,请

  • 如何在spacevim中将“esc”键映射到“jk”或“jj”?spacevim的配置文件是什么。有什么传奇的spacevim配置可以分享吗?

  • 我在这里尝试遵循本指南: https://github . com/Spring-projects/Spring-Boot/wiki/Spring-Boot-Configuration-Binding 但是我正在努力让它工作。 我想从 application.yml 中定义的映射初始化哈希映射。 这是我最后一次尝试yml-map定义: 这是我的java类: 我想将“组合”和注入为键,并将值注入为字

  • 目前,我的应用程序是这样工作的:1。应用程序从用户获得输入。2.UserRegistrationForm执行验证。3.如果没有错误,UserRegistrationForm将映射到UserEntity。4.UserEntity保存在数据库中。 我在想这是不是一个好的设计。也许我应该直接在我的用户实体中进行验证?或者也许有一种方法可以自动将表单支持对象映射到实体?

  • 将Moodle部署到Azure Web应用程序中。创建了Azure存储帐户和容器,将web应用程序链接到Azure存储帐户,现在有了一个连接字符串,类似于` CUSTOMCONNSTR_MS_StorAccConStr=DefaultEndpoint协议=https;帐户名=我的存储;帐户键=前缀/长键每个长键/后缀== 如何将数据根位置映射到Azure存储?