В сущности CustomerTransactions у меня есть следующее поле для записи того, что купил клиент:
@ManyToMany
private List<Item> listOfItemsBought;
Когда я думаю об этом поле больше, есть вероятность, что оно может не сработать, потому что продавцам разрешено менятьИнформация о товаре (например, цена, скидка и т. д.).Следовательно, это поле не сможет записывать то, что клиент фактически купил, когда произошла транзакция.
На данный момент я могу только думать о 2 способах заставить ее работать.
- Я запишу детали транзакции в поле String.Я чувствую, что этот путь был бы беспорядочным, если бы мне понадобилось извлечь некоторую информацию о транзакции позже.
- Всякий раз, когда продавец изменяет информацию о товаре, я не буду обновляться непосредственно к полям этого предмета.Вместо этого я создам еще один новый элемент со всей новой информацией и оставлю старый элемент без изменений.Я чувствую, что этот способ лучше, потому что я могу легко извлечь информацию о транзакции позже.Тем не менее, плохая сторона в том, что моя таблица элементов может содержать много строк.
Я был бы очень признателен, если бы кто-нибудь дал мне совет, как мне решить эту проблему.