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