У меня есть проект, использующий Spring Boot 1.4. В рамках проекта у меня есть сущность, которая имеет две связи с той же сущностью, что и связь OneToMany.
Чтобы лучше объяснить, вот часть моего объекта ScreenReport;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name="screenReportId")
@Where(clause = "type = 'NEW_BUSINESS'")
private List<ScreenReportRow> newBusiness;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name="screenReportId")
@Where(clause = "type = 'INVOICED'")
private List<ScreenReportRow> invoiced;
Как видите, и invoiced
, и newBusiness
являются отношениями к одному и тому же объекту, но при извлечении этих объектов я использую предложение where, чтобы определить, какие элементы входят в какой-либо List.
Проблема, с которой я столкнулся, заключается в том, что при сохранении этого объекта он сохраняет только данные newBusiness
, а не данные invoiced
. Я отладил объект и подтвердил, что элементы как в списках newBusiness, так и в списках с выставленными счетами имеют правильно установленную ScreenReport
. Не существует особой причины, по которой данные, выставленные в счет-фактуре, не сохраняются
Я могу только предположить, что это как-то связано с тем, как данные сохраняются?