Сохранение временной коллекции с JPA - PullRequest
0 голосов
/ 25 апреля 2019

Мне нужно сохранить с JPA коллекцию коллекции, которая изменяется во времени .

Предположим, у меня есть Customer, делающий несколько Orders за один раз, мне понадобятся такие операции, как:

Customer c = new Customer();
Set<Order> o = new Set<Order>();
Instant validFrom = now(); // something similar
Instant validTo = infinity(); // something similar
c.setOrders(validFrom, validTo, o);

со структурами типа

class TemporalSet<V>  {
...
    Instant validFrom;
    Instant validTo;
    Set<V> value;
}

и с клиентом

class Customer {

    Collection<TemporalSet<Order>> orders;
}

Мне нужно сохранить поле orders с JPA , и я не знаю, как это сделать.

В прошлом, когда я спрашивал, как обрабатывать временные свойства , кто-то предлагал мне взглянуть на DaoFusion framework , который включает Bitemporal Pattern от Erwin Vervaet , но, насколько я понимаю, его можно использовать только для сопоставления битемпоральных свойств (не коллекций), поскольку отображение - это OneToMany, поэтому вторая сторона должна иметь одно значение.

Пример, показанный в разделе Bitemporal pattern в DaoFusion, действительно показывает пример с Customer и Orders, который похож на мой, но, насколько я понимаю, можно иметь только один заказ за раз, а не набор заказов.

Правильно ли я понял этот код?

Как можно обрабатывать временную коллекцию с помощью JPA? (Мне нужно только правильное время, мне не нужно битемпоральное решение с рекордным временем)

edit: вопрос обновлен с добавлением полей Customer и TemporalSet

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...