Сохранение цен в логах

442
04 февраля 2017, 08:29

Есть таблица товаров (Goods). У каждого товара есть цена. При создании заказа (Order) к нему прикрепляются товары с помощью дополнительной таблицы Goods__Order. При этом после заказа цены товаров в заказе не должны меняться, даже если они изменились в таблице Goods.

Один из вариантов - сохранять цену в таблицу Goods__Order. Но количество полей, которые не должны меняться, возможно, станет больше, и поэтому не хочется их все переносить в эту таблицу + вариант не очень универсальный.

Второй вариант, как мне кажется, можно логировать изменения в таблице Goods в таблицу Goods_audit, которая будет содержать изменения полей + номер версии (revision number). Это доступно через Hibernate Envers. Но тогда в таблицу Goods_Order нужно будет вносить id товара + номер версии + я не нашел примеров, что так делают.

Какой вариант будет лучше? Учитывая, огромное количество интернет-магазинов, наверное уже есть более-менее известное решение для этого. Да и во вариантах на php никакого Hibernate Envers нет.

READ ALSO
как занести ссылку?

как занести ссылку?

Как занести ссылку?!

469
С чего начать путь Android разработчика? [требует правки]

С чего начать путь Android разработчика? [требует правки]

Принял решение, определиться с направлениемВыбор пал на мобильную разработку

436
Создание копирующего конструктора

Создание копирующего конструктора

Создаём копию другого прямоугольника (он и передаётся в параметрах):

511