У меня есть приложение базы данных с объектами, которое должно быть изменено только с помощью проверки глаз 4/6.
Например: у меня есть «Person» в базе данных и атрибут «person_name» (или любой другой атрибут этого объекта) может быть изменен только после того, как изменение было проверено кем-то другим. Для этого в базе данных создается новый объект «Person_modification», который имеет атрибут «Approvement_status» с возможными значениями «утверждено», «отклонено» и т. Д.
С момента появления нового объекта «Персона_модификация»был создан до тех пор, пока не будет заблокирован базовый объект «Персона», находящийся в статусе «утвержден» или «отклонен», т. е. он не должен изменяться каким-либо другим пользователем / транзакцией. Т.е. между первоначальным изменением и утверждением изменения могут лежать дни или недели / месяцы. В течение этого времени объект не должен быть изменяемым.
Есть ли в Hibernate функциональность, которая позволяет мне устанавливать такую блокировку для объекта, который длится намного дольше, чем «транзакция» в режиме гибернации, пока он не будет выпущен вручную?
Или можно ли пойти сюда, чтобы создать дополнительный атрибут для объекта "Person", который указывает, изменяет ли он в данный момент объект "Person_modification"?