Нормально ли иметь аннотацию @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
, который у меня есть в моем коде, кажется, работает хорошо. Есть ли в этом подводные камни (кроме читабельности)?