有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在hibernate中将值从DTO对象保存到实体

在我的hibernate项目中,我使用getter和setter来保存数据。每次我都需要使用get方法和set方法来保存每个变量。 问题是,有没有方便的方法将DTO转换为实体类? 雷格斯


共 (1) 个答案

  1. # 1 楼答案

    我为这个用例创建了Blaze-Persistence Entity Views。实际上,您将JPA实体的DTO定义为接口,并将其应用于查询。它支持映射嵌套的DTO、集合等,基本上是您所期望的一切,而且最重要的是,它将提高您的查询性能,因为它将生成只获取DTO实际需要的数据的查询

    实体视图示例可能如下所示

    @EntityView(Person.class)
    interface PersonDto {
      @Mapping("CONCAT(firstName, ' ', lastName)")
      String getName();
    }
    

    查询可能是这样的

    List<PersonDto> dtos = entityViewManager.applySetting(
      EntityViewSetting.create(PersonDto.class),
      criteriaBuilderFactory.create(em, Person.class)
    ).getResultList();