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

带有集合和JPA的Modelmapper

汪建白
2023-03-14

今天我读了关于ModelMapper的文章,它似乎很有趣,但我不确定它的正确用法。

我有一个类似这样的Spring项目:我有序列化所必需的模型类。我的REST控制器将DTO对象返回到前端。我的前端将DTO返回给我的控制器,然后我需要DTO中的模型对象将其写入数据库

我有一个人类,它有一个属性,比如:Set

我希望modelmapper将此集合映射到一个属性:set

我的问题是:

  1. 我需要一个属性映射或转换器吗?
  2. 我到底该怎么做?
  3. 是否可以说转换从Set

抱歉,我是ModelMapper的新手,我正在寻找将Atino与spring结合在一起进行序列化和反序列化期间映射的最佳方法。


共有1个答案

翟丰茂
2023-03-14

如果dto和bean中的字段名称相同,那么我们可以使用Spring的BeanUtils类来转换对象,如下所示:

private UserDto toDto(User user) {
    UserDto dto = new UserDto();
    BeanUtils.copyProperties(user, dto, new String[]{"companies"});
    if (user.getCompanies() != null) {
        //Iterate the list and set the company names
    }
    return dto;
}

BeanUtils属于组织。springframework。bean包,因此不需要依赖项。如果我们想自己处理这些属性,可以将要忽略的属性数组作为copyProperties方法中的参数传递(就像我们案例中的公司一样)。它使用反射并调用getter和setter来设置值。

 类似资料:
  • 我目前正在从事一个项目,在该项目中,我给出了一个实体,该实体具有一个集合,即订单,因此客户和订单之间存在一种单一关系。假设我想选择具有相应数量的订单实体(在SQL中称为计数)的客户集合的子集:Spring Data JPA提供的查询方法是否已经有了默认实现,以避免使用JPQL编写自定义查询,该查询在一个SQL查询中而不是在n 1个查询中获取客户订单的数量其中n是客户数量?或者可以在某种瞬态字段(例

  • 我有一个使用JPA注释生成数据库主键的代码。一个数据库序列用于使用Oracle DB生成PK.Am 现在我对此的理解是:DB sequencer返回的sequence id作为rec_id。这是正确的吗? 医生说: 序列策略序列策略由两部分组成——定义命名序列和在一个或多个类的一个或多个字段中使用命名序列。@Sequence Generator注释用于定义序列并接受名称、初始值(默认值为1)和分配

  • 我正在使用Spring数据规范编写一个使用JPA标准API的标准查询。 null 在数据库中,类层次结构是用一个连接的继承策略存储的,如下(5个表): 特性(id+某些常用字段) integer_spearchitecture(外键+INT值) decimal_spearchitecture(外键+十进制值) 字符串特性(外键+VARCHAR值) boolean_spearchitecture(外

  • 问题内容: 我在PostgreSQL数据库中创建了一个函数,希望使用JPA 2.1的StoredProcedureQuery方法调用该函数。 这是我的PostgreSQL查询: 这只是一个简单的查询,可以计算特定日期的用户。这只是一个演示查询,用于测试StoredProcedureQueries的工作方式。实际上,当仅通过postgreSQL使用时,它就可以正常工作。 现在,让我们尝试使用JPA

  • 在JPA中,实体的字段是否可能同时具有@ManyTomany和@ManyToOne注释? 这是我的桌子: 这是我的实体(简化的ofc): 我会尽力解释: > @ManyToOne:Entity2和Entity3都有一个引用Entity1的字段。所以有一个多对一的关系。 所以有了这个,我想我必须使用@ManyTomany。但我发现了一些错误。 所以我想知道:这有可能把@ManyTomany和@Man

  • 然而,这些都无济于事。 仍然没有正确保存字符。