У меня странная проблема. У меня есть юридическое лицо, компания, филиал и адрес. У компании есть список филиалов, и у каждого филиала есть адрес. Я пытаюсь сохранить ветвь с не существует до адреса объекта, но адрес сохраняется с пустыми столбцами.
@Data
@Entity
@Indexed
@Table(name = "company")
public class Company {
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(
name = "UUID",
strategy = "org.hibernate.id.UUIDGenerator"
)
private String id;
@Field
@Column(name = "full_name", nullable = false, unique = true)
private String fullName;
@OneToMany(mappedBy = "company")
private Set<Branch> branches;
}
@Data
@Entity
@Table(name = "branch")
public class Branch {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Column
private String phone;
@Column
private String email;
@OneToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "address_id", referencedColumnName = "id")
private Address address;
@ManyToOne
@JoinColumn(name = "company_id", referencedColumnName = "id")
private Company company;
}
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Column
private String street;
@OneToOne(mappedBy = "address")
private Company company;
@OneToOne(mappedBy = "address")
private Branch branch;
}
Служба ...
public Integer addBranch(BranchDto branchDto) {
Branch branch = modelMapper.map(branchDto, Branch.class);
Company company = companyRepository.getCompanyById(branchDto.getCompanyId());
branch.setCompany(company);
return branchRepository.save(branch).getId();
}
Dto. ..
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BranchDto {
private Integer id;
private String phone;
private String email;
private AddressDto address;
private String companyId;
}
И это эффект ...
Отладчик ...
В чем проблема? Вы можете мне помочь?