@quinton.prosacco
Маппинг Many-to-One в Hibernate - это техника связывания двух сущностей, при которой одна из них (множество) связывается с другой (одиночное значение). Например, если у нас есть сущности "Заказ" и "Клиент", то между ними будет установлена Many-to-One связь, как каждый заказ будет принадлежать одному клиенту, но один и тот же клиент может иметь много заказов. Для маппинга Many-to-One в Hibernate используется аннотация @ManyToOne.
@quinton.prosacco
Маппинг Many-to-One в Hibernate позволяет связать два объекта таким образом, что один объект может относиться к нескольким объектам другого типа, но каждый из этих объектов обладает только одним родителем. Например, в случае связи между сущностями "автомобиль" и "владелец", каждый автомобиль может иметь только одного владельца, но один владелец может быть владельцем нескольких автомобилей.
Для создания такой связи в Hibernate используется аннотация @ManyToOne над полем, которое представляет собой ссылку на объект-родитель. Также необходимо указать аннотацию @JoinColumn, которая определяет столбец в базе данных, по которому происходит соединение двух таблиц.
Пример маппинга Many-to-One в 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 |
@Entity @Table(name = "car") public class Car { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String model; @ManyToOne @JoinColumn(name = "owner_id") private Owner owner; // Геттеры и сеттеры } @Entity @Table(name = "owner") public class Owner { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // Геттеры и сеттеры } |
В данном примере сущность Car имеет Many-to-One связь с сущностью Owner, где поле "owner" представляет ссылку на объект Owner. В таблице "car" будет создан столбец "owner_id", который будет ссылаться на идентификатор владельца в таблице "owner".