Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

140
Vistas
Establecer nulo para apuntar usando mastruct

Estoy usando mapstruct y me pregunto si hay alguna forma de establecer un valor nulo para algunas propiedades de destino. Por ejemplo,

 public class MySource { private String prop1; private String prop2; public MySource() { // Initialization. } // Getters - Setters. } public class MySourceDto { private String prop1; private String prop2; public MySourceDto() { // Initialization. } // Getters - Setters. } @Mapper public interface MySourceMapper { @Mappings({ @Mapping(target = "prop1", propertyToSetNull = null)}) public MySourceDto toView(MySource mySource); }

Me encantaría que la fuente anterior, el dto y el mapeador generen el siguiente código fuente,

 @Component public class MySourceMapperImpl implements MySourceMapper { @Override public MySourceDto toView(MySource mySource) { if ( mySource == null ) { return null; } MySourceDto mySourceDto = new MySourceDto(); mySourceDto.setProp1( mySource.getId() ); mySourceDto.setProp2( null ); return mySourceDto; } }
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede usar @Mapping(target = "prop1", expression = "java(null)") para lograrlo.

Puede encontrar más información sobre la expresión en la guía de referencia aquí .

Actualmente, solo se admite Java como lenguaje de expresión, MapStruct solo tomará lo que haya escrito entre corchetes y lo aplicará directamente al setter, la implementación se verá exactamente como en su ejemplo.

about 4 years ago · Santiago Trujillo Denunciar

0

También puede ignorar el mapeo de esta propiedad:

 @Mapping(target = "prop1", ignore = true)

esto establecerá este valor por defecto, que es nulo en su caso

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda