Разрешено ли иметь @OneToMany с одной стороны отношений JPA и @ManyToMany с другой стороны? - PullRequest
0 голосов
/ 13 марта 2020

Нормально ли иметь аннотацию @OneToMany JPA на одной стороне отношения и аннотацию @ManyToMany на другой стороне отношения? Например, рассмотрим пример ниже:

class Keyboard {
  @OneToMany()
  Collection<Button> buttons;

  // ...
}
class Button {
  @ManyToMany(mappedBy = "buttons")
  Collection<Keyboard> keyboards;

  // ...
}

Из того, что я прочитал в документации, у вас должна быть одна из следующих комбинаций аннотаций на стороне владения и обратной стороне двунаправленной связи JPA соответственно :

  • @OneToOne()@OneToOne(mappedBy="...")
  • @ManyToOne()@OneToMany(mappedBy="...")
  • @ManyToMany()@ManyToMany(mappedBy="...")

Тем не менее, пример Keyboard / Button, который у меня есть в моем коде, кажется, работает хорошо. Есть ли в этом подводные камни (кроме читабельности)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...