Я создаю загрузочный микросервис Spring и создаю слой доступа к данным с использованием сущностей.Я хотел бы отобразить 1 сущность Transactions
на 2 таблицы.Первая таблица «транзакции» будет иметь номер транзакции.Во второй таблице также будет использоваться тот же номер транзакции, что и в ее первичном ключе, а также другие атрибуты.Какой самый простой способ сделать это?Другими словами:
@Entity
class Transactions {
@Id
private Long transactionId;
??@OneToMany?? ( <--what do I put here?)
private List<Groceryitem> items;
}
В первой таблице будут храниться длинный идентификатор транзакции и список из GroceryItem
, например, так:
Table: transactions
______________________
| |
| transactionId: Long |
| |
| List<GroceryItem> |
|______________________|
, по сути, первая таблица будет выглядетьthis:
transcation_id |
--------------------
1
2
Продуктовый элемент - это класс, который содержит поле Float price
примерно так:
class GroceryItem {
private String itemName;
private Float price;
Float getPrice() {
return this.price;
}
String getName() {
return this.itemName;
}
}
Я хочу сохранить список продуктовых товаров во второй таблице, ииспользуйте тот же transactionId
, что и первичный ключ для второй таблицы.Я также хотел бы иметь возможность расширить продуктовый элемент, чтобы включать в него больше атрибутов в будущем.
Table: items
______________________
| |
| transactionId: Float |
| |
| List<GroceryItem> |
| |
| name: String |
|______________________|
Вторая таблица будет выглядеть следующим образом:
transaction_id | name | price
------------------------------------------
1 carrot 15.00
1 apple 13.99
2 apple 3.00
Как правильно аннотироватьклассы "Транзакция" и "Бакалея"?