@william_stoltenberg
Hibernate поддерживает возможность отображения одной сущности на несколько таблиц с помощью аннотации @SecondaryTable
.
Для использования этой аннотации необходимо добавить ее к классу сущности и указать имя вторичной таблицы, а также столбцы, которые будут связывать основную таблицу с вторичной таблицей. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
@Entity @Table(name = "main_table") @SecondaryTable(name = "secondary_table", pkJoinColumns = @PrimaryKeyJoinColumn(name = "id")) public class MyEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "column1") private String column1; @Column(name = "column2") private String column2; @Column(name = "column3", table = "secondary_table") private String column3; // getters and setters } |
В этом примере мы указываем, что сущность MyEntity
должна быть отображена на две таблицы: main_table
и secondary_table
. Мы связываем эти таблицы через столбец id
. Колонки column1
и column2
относятся к основной таблице, а column3
- к вторичной таблице.
Hibernate автоматически будет обрабатывать связь между таблицами и позволит нам использовать данные из обеих таблиц в запросах к сущности MyEntity
.
@william_stoltenberg
Этот подход позволяет разделить данные сущности на две или более таблицы для улучшения производительности или организации данных.