0

есть класс Билет, в нем поля типа Город и Страна при создании билета нужно выдернуть из базы эти город и страну однако при попытке записи в базу ругается, что нужно сначала сохранить город и страну как правильно описать данные поля? Если выставить cascade, то тогда он попытается сохранить в базу город и страну, и опять ругнется только теперь на то что нарушено условие уникальности

public class FlightTicket implements Comparable<FlightTicket> {
@OneToOne
private City cityOfDepart;
@OneToOne
private Country countryOfDepart;

}

inginiir
  • 11
  • 2
  • как объяснить hibernate что не нужно сохранять эти поля еще раз – inginiir Jul 04 '20 at 13:29
  • Как я помню из статей, то @OneToOne используется очень редко, а тут Вы используете его 2 раза в одном entity. Возможно, вы хотели использовать зависимость OneToMany (т.к. один и город может фигурировать в нескольких «билетах») – Antonio112009 Jul 07 '20 at 00:47
  • То же самое касается Country: в билете вы указываете ОДНУ страну (не список стран), но страна может фигурировать во МНОЖЕСТВЕ билетов => OneToMany – Antonio112009 Jul 07 '20 at 00:49
  • Рассмотрите примеры в данном вопросе. Возможно, Вы найдете там ответ на ваш вопрос. – Antonio112009 Jul 07 '20 at 00:52
  • с проблемой разобрался, была проблема в том, что я сначала вытаскивал страну из таблицы не целиком, без id, после того как переделал метод репозитория все заработало – inginiir Jul 14 '20 at 08:38

1 Answers1

0

с проблемой разобрался, была проблема в том, что я сначала вытаскивал страну из таблицы не целиком, без id, после того как переделал метод репозитория все заработало

inginiir
  • 11
  • 2