我在使用:
error: Unknown property "settlementCentre" in result type ru.rt.eip.boot.domain.ClientDto. Did you mean "null"?
令人惊讶的是,但是toModel方法工作得很好,编译后,我在生成的源代码中看到了下面的内容:
@Override
Client toModel(ClientDto clientDto) {
if ( clientDto == null ) {
return null;
}
Client client = new Client();
if ( clientDto.getSettlementCentre() != null ) {
client.setSettlementCentre( settlementCentreDtoToSettlementCentre( clientDto.getSettlementCentre() ) );
}
else {
client.setSettlementCentre( null );
}
}
我不知道如何修复这个映射问题。有人能帮忙吗?
下面是我的映射器:
@Mapper(
componentModel = "spring",
unmappedTargetPolicy = ReportingPolicy.IGNORE,
uses = {EntityIdMapper.class,
LegalFormMapper.class,
EmployeeMapper.class,
SettlementTypeMapper.class,
TrippingDisabledReasonMapper.class,
ProprietaryFormMapper.class,
BillingGroupMapper.class,
SettlementCentreMapper.class,
ClientClassMapper.class,
ClientCategoryMapper.class,
DepartmentMapper.class},
injectionStrategy = InjectionStrategy.CONSTRUCTOR
)
public abstract class ClientMapper {
@Mappings({
@Mapping(source = "client.parent.id", target = "parentId"),
@Mapping(target = "isVip", defaultValue = "false"),
@Mapping(target = "isSpecial", defaultValue = "false"),
@Mapping(target = "includeToDebtor", defaultValue = "false"),
@Mapping(target = "excludeFromInform", defaultValue = "false"),
@Mapping(source = "client.passport", target = "passport", defaultExpression = "java(null)"),
@Mapping(source = "client.trippingDisabledReason", target = "trippingDisabledReason", defaultExpression = "java(null)"),
@Mapping(source = "client.proprietaryForm", target = "proprietaryForm", defaultExpression = "java(null)"),
@Mapping(source = "client.billingGroup", target = "billingGroup", defaultExpression = "java(null)"),
@Mapping(source = "client.clientClass", target = "clientClass", defaultExpression = "java(null)"),
@Mapping(source = "client.settlementCentre", target = "settlementCentre")
})
abstract ClientDto toDto(Client client);
@Mapping(source = "clientDto.settlementCentre", target = "settlementCentre", defaultExpression = "java(null)")
abstract Client toModel(final ClientDto clientDto);
}
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ClientDto implements BusinessObject, WithParent {
private EntityIdDto id;
private String dtype;
@Deprecated //SystemInfo
private Long currentVersion;
private String juridicalType;
private String nls;
private String nlsAdditional;
private String inn;
private String kpp;
private String title;
private String shortName;
private String juridicalName;
private String email;
private String phone;
private Boolean isVip;
@Deprecated //SystemInfo
private Boolean isDeleted;
private Boolean isSpecial;
private LocalDateTime changeDate;
@Deprecated //SystemInfo
private LocalDateTime persistDate;
@Deprecated //SystemInfo
private LocalDateTime endDate;
@Deprecated //SystemInfo
private LocalDateTime localsystemdatesnapshot;
private String settlementAccount;
private String bik;
private String contact;
private String companyUrl;
private String inetSystemCode;
private Boolean includeToDebtor;
private Boolean excludeFromInform;
private String deliveryArea;
private String passport;
private String fldFilialName;
private String fldDocumentUnId;
@Deprecated //parent
private EntityIdDto parentId;
private DepartmentDto department;
private DepartmentDto ownerFilial;
private SettlementTypeDto settlementType;
private ClientClassB2BDto clientClassB2B;
private String fldClientAttributes;
private String regionId;
@Deprecated // Address
private Map<String, AddressDto> adresses;
@Deprecated // ClientCategory
private Map<String, ClientCategoryDto> clientCategories;
private ServiceClassDto serviceClass;
private String className;
private LegalFormDto legalForm;
private EmployeeDto employee;
private String lastName;
private String firstName;
private String middleName;
private String gender;
private LocalDate birthday;
private ClientTypeDto clientType;
private ClientDto parent;
private AddressDto postAddress;
private AddressDto lawAddress;
private AddressDto deliveryAddress;
private ClientCategoryDto clientCategory;
private ClientCategoryDto clientCategorySub;
private ClientCategoryDto clientCategoryMacro;
private SystemInfoDto systemInfo;
private DeliveryInfoDto deliveryInfo;
private TrippingDisabledReasonDto trippingDisabledReason;
private ProprietaryFormDto proprietaryForm;
private DocumentTypeDto documentType;
private BillingGroupDto billingGroup;
private SettlementCentreDto settlementCentre;
private ClientClassDto clientClass;
private ContractDto contract;
private String okved;
private String okpo;
private String ogrn;
private String docNumber;
private String birthPlace;
}
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Builder
@Table(name = "CLIENT")
public class Client {
@EmbeddedId
private EntityId id;
@Column(name = "DTYPE")
private String dtype;
@Column(name = "JURIDICALTYPE")
private String juridicalType;
@Column(name = "NLS")
private String nls;
@Column(name = "NLSADDITIONAL")
private String nlsAdditional;
@Column(name = "INN")
private String inn;
@Column(name = "KPP")
private String kpp;
@Column(name = "TITLE")
private String title;
@Column(name = "SHORTNAME")
private String shortName;
@Column(name = "JURIDICALNAME")
private String juridicalName;
@Column(name = "EMAIL")
private String email;
@Column(name = "PHONE")
private String phone;
@Column(name = "VIP")
private Boolean isVip;
@Column(name = "ISSPECIAL")
private Boolean isSpecial;
@Column(name = "CHANGEDATE")
private LocalDateTime changeDate;
@Column(name = "SETTLEMENTACCOUNT")
private String settlementAccount;
@Column(name = "BIK")
private String bik;
@Column(name = "PASSPORT")
private String passport;
@Column(name = "CONTACT")
private String contact;
@Column(name = "COMPANYURL")
private String companyUrl;
@Column(name = "INETSYSTEMCODE")
private String inetSystemCode;
@Column(name = "INCLUDETODEBTOR")
private Boolean includeToDebtor;
@Column(name = "EXCLUDEFROMINFORM")
private Boolean excludeFromInform;
@Column(name = "DELIVERYAREA")
private String deliveryArea;
@Column(name = "FLDFILIALNAME")
private String fldFilialName;
@Column(name = "FLDDOCUMENTUNID")
private String fldDocumentUnId;
@Column(name = "FLDCLIENTATTRIBUTES")
private String fldClientAttributes;
@Column(name = "LASTNAME")
private String lastName;
@Column(name = "FIRSTNAME")
private String firstName;
@Column(name = "MIDDLENAME")
private String middleName;
@Column(name = "GENDER")
private String gender;
@Column(name = "BIRTHDAY")
private LocalDate birthday;
@Column(name = "BIRTHPLACE")
private String birthPlace;
@Column(name = "OKVED")
private String okved;
@Column(name = "OKPO")
private String okpo;
@Column(name = "OGRN")
private String ogrn;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "PARENT_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "PARENT_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "PARENT_VERSION", referencedColumnName = "VERSION")})
private Client parent;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "DEPARTMENT_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "DEPARTMENT_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "DEPARTMENT_VERSION", referencedColumnName = "VERSION")})
private Department department;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "OWNERFILIAL_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "OWNERFILIAL_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "OWNERFILIAL_VERSION", referencedColumnName = "VERSION")})
private Department ownerFilial;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "SETTLEMENTTYPE_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "SETTLEMENTTYPE_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID")})
private SettlementType settlementType;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "CLIENTCLASSB2B_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "CLIENTCLASSB2B_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID")})
private ClientClassB2B clientClassB2B;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "POSTADDRESS_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "POSTADDRESS_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "POSTADDRESS_VERSION", referencedColumnName = "VERSION")})
private Address postAddress;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "LAWADDRESS_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "LAWADDRESS_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "LAWADDRESS_VERSION", referencedColumnName = "VERSION")})
private Address lawAddress;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "DELIVERYADDRESS_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "DELIVERYADDRESS_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "DELIVERYADDRESS_VERSION", referencedColumnName = "VERSION")})
private Address deliveryAddress;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "CC_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "CC_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID")})
private ClientCategory clientCategory;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "CCS_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "CCS_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID")})
private ClientCategory clientCategorySub;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "CCM_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "CCM_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID")})
private ClientCategory clientCategoryMacro;
@OneToMany(mappedBy = "client")
private List<Contract> contracts;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "SERVICECLASS_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "SERVICECLASS_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "SERVICECLASS_VERSION", referencedColumnName = "VERSION")})
private ServiceClass serviceClass;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "MANAGER_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "MANAGER_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "MANAGER_VERSION", referencedColumnName = "VERSION")})
private Employee employee;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "LEGALFORM_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "LEGALFORM_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "LEGALFORM_VERSION", referencedColumnName = "VERSION")})
private LegalForm legalForm;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "CLIENTTYPE_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "CLIENTTYPE_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID")})
private ClientType clientType;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "TDR_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "TDR_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID")})
private TrippingDisabledReason trippingDisabledReason;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "BILLINGGROUP_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "BILLINGGROUP_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID")})
private BillingGroup billingGroup;
private SettlementCentre settlementCentre;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "PROPRIETARYFORM_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "PROPRIETARYFORM_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "PROPRIETARYFORM_VERSION", referencedColumnName = "VERSION")})
private ProprietaryForm proprietaryForm;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "CLIENTCLASS_APP_PKID", referencedColumnName = "APP_PKID"),
@JoinColumn(name = "CLIENTCLASS_LOCALSYSTEMID", referencedColumnName = "LOCALSYSTEMID"),
@JoinColumn(name = "CLIENTCLASS_VERSION", referencedColumnName = "VERSION")})
private ClientClass clientClass;
@Embedded
private SystemInfo systemInfo;
}
这是MapStruct中一个已知的bug。以set
开头的Fluent setter删除了开始的set
,因此settlementdate
变为tlementdate
。这就是为什么当删除Lombok@builder
时,它可以工作,然后它在对象上使用getters/setter,而不是在构建器上使用getters/setters。
您可以跟踪mapstruct/mapstruct#1799的问题。
我在一起使用mapstruct和lombok时遇到了一些问题: 我的实体和实体类: EntityMapper: 在这种配置中,它会导致编译时错误。所以我试图注释掉@映射注释。它编译了,但它将所有属性映射为空。MapSTRtEntityMapper生成的实现: 我找到了几个关于注释处理器的答案,但看看我的构建。gradle文件: 如果我编译时不使用@Mapping注解,然后使用这个注解运行,有时它会
我有一个相当简单的映射器 我的域类: 我的DTO类: 我在mvn干净安装上收到的错误: [错误]/C:/code报告/work/github/symphony票证/src/main/java/com/ticket/mappers/TicketLocationDetailsMapper。java:[33,48]结果类型TicketLocationDetails中的未知属性“locationId”。你
我的代码: 我的错误: 回溯(最近一次调用last):文件“C:\Users\weqwwg\Desktop\python\Game.py”,第77行,在driver.manage().timeouts()中。隐式等待(10,时间单位:秒);AttributeError:“WebDriver”对象没有属性“manage” 我正在尝试向youtube上的评论框发送密钥。我删除了一些代码,我目前正在运行
问题内容: 使用@jit装饰器运行代码时出现错误。似乎无法找到函数scipy.special.gammainc()的某些信息: 没有@jit装饰器,代码将正常运行。也许需要一些使scipy.special模块的属性对Numba可见的东西? 在此先感谢您的任何建议,评论等。 问题答案: 问题在于这不是Numba固有的一小部分函数(请参阅http://numba.pydata.org/numba- d
我在尝试使用JAXB封送时遇到以下异常。 以下是堆栈跟踪: 键入AORAGENT2TTWSREQUEST。JAVA 我参考了下面的链接,仍然不知道到底是什么问题: JAXB非法注释例外
我正在使用和,在属性映射期间我遇到了这个错误,我该如何修复它? 她的是我的 这里有一个Screenshottenter图像描述