Hibernate Lock Object для проверки 4 глаз - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть приложение базы данных с объектами, которое должно быть изменено только с помощью проверки глаз 4/6.

Например: у меня есть «Person» в базе данных и атрибут «person_name» (или любой другой атрибут этого объекта) может быть изменен только после того, как изменение было проверено кем-то другим. Для этого в базе данных создается новый объект «Person_modification», который имеет атрибут «Approvement_status» с возможными значениями «утверждено», «отклонено» и т. Д.

С момента появления нового объекта «Персона_модификация»был создан до тех пор, пока не будет заблокирован базовый объект «Персона», находящийся в статусе «утвержден» или «отклонен», т. е. он не должен изменяться каким-либо другим пользователем / транзакцией. Т.е. между первоначальным изменением и утверждением изменения могут лежать дни или недели / месяцы. В течение этого времени объект не должен быть изменяемым.

Есть ли в Hibernate функциональность, которая позволяет мне устанавливать такую ​​блокировку для объекта, который длится намного дольше, чем «транзакция» в режиме гибернации, пока он не будет выпущен вручную?

Или можно ли пойти сюда, чтобы создать дополнительный атрибут для объекта "Person", который указывает, изменяет ли он в данный момент объект "Person_modification"?

1 Ответ

0 голосов
/ 05 ноября 2019

идут с дополнительными атрибутами вместо спящего на основе, поскольку они только транзакционные. вы можете создавать триггеры, которые могут отслеживать обновления и разрешать их только при выполнении определенных условий

...