Сохранение будущих изменений временно перед применением их с JPA / Hibernate 5+ - PullRequest
0 голосов
/ 02 января 2019

Мне нужно создать модель, в которой изменения в сущностях (по существу, транзакции) должны сохраняться отдельно и проходить процесс утверждения (другими пользователями) перед их фактическим применением.

Думайте об этом как о создании ветви в Git (представляющей транзакцию в JPA / Hibernate) и запросе об объединении для возвращения. Желательный (ed | способный) побочный эффект этого заключается в том, что это также охватывает одитинг - поскольку история уже будет присутствовать, но учтите, что это НЕ основная причина вопроса (который будет решаться чем-то вроде Энверса, для пример).

Большинство организаций могут участвовать в этом, и я хотел бы избежать дублирования всего, чтобы отделить «официальную сущность» от «промежуточных сущностей» или аналогичных. Постановка должна охватывать вставки, обновления и удаления (возможно, с использованием надгробий).

Я пытаюсь упростить это для большей части разработки и перенести столько же в библиотеки Hibernate / сторонних производителей и, если не там, в среду, которую мне придется создать. В идеале все регулярные транзакции транзакций должны быть на самом деле против промежуточных областей (возможно, создать их) - единственным исключением будет действие final / apply, которое может обрабатываться особым образом.

Одна из главных проблем для меня связана с тем фактом, что обычное использование сущностей и их идентификаторов (первичных ключей) будет указывать на единственную / главную копию сущности - я не знаю, как перенаправить их в другое место.

У кого-нибудь есть предложения?

...