Понимание MappedBy в JPA и Hibernate
В средах объектно-реляционного сопоставления (ORM), таких как JPA и Hibernate, MappedBy является полезной аннотацией для установление двунаправленных связей между классами сущностей. Эта аннотация используется в контексте отношений «один-ко-многим» и «многие-к-одному».
Рекомендуемое использование
Рекомендуемое использование MappedBy выглядит следующим образом:
Цель MappedBy
MappedBy служит несколько целей:
Пример
В приведенном вами примере авиакомпания, владеющая множеством AirlineFlights и AirlineFlights, принадлежащими одной авиакомпании, MappedBy должна использоваться в классе AirlineFlight следующим образом:
@Entity
@Table(name="AirlineFlight")
public class AirlineFlight {
// ... other attributes ...
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="IDAIRLINE", nullable=false)
@MapsId
private Airline airline;
// ... other attributes ...
}
В этом примере аннотация @MapsId указывает, что поле IDAIRLINE в AirlineFlight используется в качестве ограничения внешнего ключа для сущности Airline. Используя здесь MappedBy, вы можете установить двунаправленную связь между Airline и AirlineFlight без необходимости ограничений внешнего ключа в обеих таблицах.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3