@roma
Mapping One-to-Many в Hibernate - это отображение отношения между двумя таблицами базы данных: одна запись в одной таблице может иметь связь с несколькими записями в другой таблице.
Например, у нас есть таблица "Заказчики" и таблица "Заказы". У каждого клиента может быть несколько заказов. В этом случае мы говорим о One-to-Many отношении между таблицами "Заказчики" и "Заказы", так как каждый заказ принадлежит только одному клиенту, но каждый клиент может иметь несколько заказов.
В Hibernate такое отношение может быть отображено с помощью аннотаций или XML-конфигураций. Для этого можно использовать аннотацию @OneToMany
, которая указывает на связь между двумя таблицами и определяет, как эта связь будет отображена в Java-коде.
Пример аннотации One-to-Many в Hibernate:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
@Entity @Table(name = "customers") public class Customer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Long id; @OneToMany(mappedBy = "customer") private Set<Order> orders; // ... } @Entity @Table(name = "orders") public class Order { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Long id; @ManyToOne @JoinColumn(name = "customer_id") private Customer customer; // ... } |
В этом примере мы используем аннотацию @OneToMany
для отображения отношения One-to-Many между таблицами "Заказчики" и "Заказы". Мы определяем свойство orders
типа Set<Order>
, которое содержит все заказы, связанные с данным клиентом. С помощью параметра mappedBy
мы указываем, что отображение этой связи определено в классе Order
и ссылается на свойство customer
.
Таким образом, мы можем использовать Hibernate для создания и обновления записей в базе данных, отображающих связь между таблицами One-to-Many.