Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

367
Views
Mapper no está usando otro mapeador, ¿cómo usar un mapeador de otro mapeador?

Estoy experimentando con MapStruct donde quiero que un mapeador use otro mapeador para combinar múltiples objetos en uno. Para mis pruebas tengo tres objetos de dominio, DomainObject1 , DomainObject2 y DomainObject3 . Quiero convertir DomainObject1 en un DTO, TransferObjectA , que tiene un campo que contiene un segundo DTO, TransferObjectB , que se construye utilizando DomainObject2 y DomainObject3 .

Tengo dos mapeadores, uno que convierte DomainObject2 y DomainObject3 a TransferObjectB que ignora un campo en DomainObject2 para que no se convierta:

 @Mapper public interface ObjectBMapper { @Mapping(target = "field1", ignore = true) TransferObjectB domainObject2ToTransferObjectB(DomainObject2 domainObject2, DomainObject3 domainObject3); }

Y un segundo mapeador que convierte DomainObject1 en TransferObjectA , que también acepta DomainObject2 y DomainObject3 para que puedan convertirse usando el mapeador anterior y colocar el TransferObjectA resultante:

 @Mapper(uses = ObjectBMapper.class) public interface ObjectAMapper { TransferObjectA domainObject1ToTransferObjectA(DomainObject1 domainObject1, DomainObject2 domainObject2, DomainObject3 domainObject3); }

Sin embargo, ObjectBMapper no parece utilizar ObjectAMapper y el field1 1 se convierte (esto da como resultado un error porque es una enum ). ¿Por qué no se usa ObjectBMapper y cómo puedo asegurarme de que ObjectAMapper lo usará?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

MapStruct actualmente solo puede usar otros mapeadores con un solo parámetro de origen. Hay una solicitud de función abierta mapstruct/mapstruct#2081 sobre esta funcionalidad.

Lo que podría hacer es usar un objeto contenedor en lugar de múltiples parámetros de origen.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!