Вам действительно нужно сохранить все объекты в этом снимке? Если это так, может быть, поможет коллекция таблиц с именами типа type_snapshot. Вы можете сохранить свои объекты в этой таблице (только вставка, но не обновление). Вы можете сохранить исходный идентификатор элемента и создать новый идентификатор для самого снимка. И вы можете сохранить метку времени с каждым снимком. Ваша таблица item_snapshot будет выглядеть примерно так:
id | snapshot_date | item_id | item_prop1 | item_prop2 ...
123 | 7/16/10 | 15 | "item desc" | "item name" ...
В вашем домене, возможно, вы могли бы работать с экземплярами Snapshot (снимок, содержащий идентификатор и дату снимка, а также экземпляр T)
Возможно, он не идеален, так как вводит второй набор отображений, но это способ получить то, что вы собираетесь. Кажется, что вам лучше сделать что-то ближе к ядру базы данных, но не зная, что вы имеете в виду для этих снимков (с точки зрения приложения), трудно сказать.