gpt4 book ai didi

java - Mapstruct 不区分大小写的映射

转载 作者:行者123 更新时间:2023-12-02 02:56:38 35 4
gpt4 key购买 nike

mapstruct 中有没有一种方法可以在映射时忽略字段的大小写。假设我想映射以下两个类

public class Customer {

private String ID;

public String getID() {
return ID;
}

public void setID(String iD) {
this.ID = iD;
}
}


public class CustomerDetails {

private String id;

public String getId() {
return ID;
}

public void setId(String id) {
this.id = id;
}

}

MapStruct 不会自动映射字段,因为 getter 方法名称不匹配。有没有办法配置 MapStruct 忽略字段的大小写并自动映射它们

最佳答案

可以实现自定义 AccessorNamingStrategy,将元素名称小写,从而使其不区分大小写。

例如

public class CaseInsensitiveAccessorNamingStrategy extends DefaultAccessorNamingStrategy {

@Override
public String getPropertyName(ExecutableElement getterOrSetterMethod) {
return super.getPropertyName( getterOrSetterMethod ).toLowerCase( Locale.ROOT );
}

@Override
public String getElementName(ExecutableElement adderMethod) {
return super.getElementName( adderMethod ).toLowerCase( Locale.ROOT );
}
}

关于java - Mapstruct 不区分大小写的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60978485/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com