我有一个包含联系人对象列表的对象组织。 conacts列表已存在于数据库中。
要使用邮递员进行测试,当我需要添加组织时,我必须添加联系人ID列表
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "contact_organization", joinColumns = @JoinColumn(name = "contacts_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "organizations_id", referencedColumnName = "id"))
private Set<Organization> organizations = new HashSet<>();
在联系课中我有
@ManyToMany(mappedBy = "organizations")
private Set<Contact> contacts = new HashSet<>();
在组织课程中我有
private Set<Long> contactsId = new HashSet<>();
并且在organisationDTO课程中我有
@Mapper(componentModel = "spring", uses = { ContactMapper.class }))
public interface OrganizationMapper extends EntityMapper<OrganizationDTO, Organization> {
@Mapping(source = "contacts", target = "contactsId")
OrganizationDTO toDto(Organization organization);
@Mapping(source = "contactsId", target = "contacts")
Organization toEntity(OrganizationDTO organizationDTO);
default Organization fromId(Long id) {
if (id == null) {
return null;
}
Organization organization = new Organization();
organization.setId(id);
return organization;
}
default Long fromContact(Contact contact) {
return contact == null ? null : contact.getId();
}
}
@Mapper(componentModel = "spring", uses = { OrganizationMapper.class })
public interface ContactMapper extends EntityMapper<ContactDTO, Contact> {
ContactDTO toDto(Contact contact);
Contact toEntity(ContactDTO contactDTO);
default Contact fromId(Long id) {
if (id == null) {
return null;
}
Contact contact = new Contact();
contact.setId(id);
return contact;
}
}
在映射类中,我以这种方式进行了映射,但它似乎没有工作
Organization organization = organizationMapper.toEntity(organizationDTO);
for(Contact item : organization.getContacts()) {
log.info("******************************************" + item.getId());
log.info("++++++++++++++++++++++++++++++++++++++++++" + item.getLabel());
}
organization = organizationRepository.save(organization);
这里的问题它向我显示了id和标签为null,并且在数据库中它添加了组织但没有添加联系人
http://download.oracle.com/otn/nt/oracle12c/122010/win32_12201_client.zip
答案 0 :(得分:0)
目前不支持此功能。您正尝试将列表Airbrake.configure do |config|
config.ignore << 'RetryNotAnError'
end
中的媒体资源id
映射到contacts
列表。
为了实现您的期待,您需要提供从contactsId
到Contact
的映射方式。
您的映射器可能如下所示:
Long