Проблема состава: Неизвестная ошибка свойства, но свойство присутствуетJAVA

Программисты JAVA общаются здесь
Anonymous
Проблема состава: Неизвестная ошибка свойства, но свойство присутствует

Сообщение Anonymous »

Я использую: < /p>


Spring-boot 2.1.5.Release < /li>
Mapstruct 1.3.0.final < /li>
Lombok 1.18.8 < /li>
< /ul>

и я стараю карту двух объектов, и я стараюсь. DTO: < /p>


dto clientdto - Получен из репозитория Nesux в качестве зависимости < /li>
Модель клиента < /li>
< /ul>

В обоих классах есть расчетный центр, но во время компонента I />error: Unknown property "settlementCentre" in result type ru.rt.eip.boot.domain.ClientDto. Did you mean "null"?
< /code>

Но если я создаю Class ClientDto непосредственно в моем проекте (не как зависимости), что удивительно, но метод томоделя работает.@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 );
}
}
< /code>

Я понятия не имею, как решить эту проблему отображения. Кто -то может помочь?@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);
}
< /code>

dto - clientdto: < /p>

@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 adresses;
@Deprecated // ClientCategory
private Map 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;
}
< /code>

model - client < /p>

@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 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;
}


Подробнее здесь: https://stackoverflow.com/questions/565 ... is-present

Вернуться в «JAVA»