休眠锁定对象进行4目检查



我有一个带有对象的数据库应用程序,只能使用4/6眼睛检查进行修改。

例如:我在数据库中有一个"Person",属性"Person_name"(或该对象的任何其他属性(只有在其他人审查了更改后才能更改。为此,在数据库中创建一个新对象"Person_modification",该对象具有属性"approvement_status",可能值为"approved"、"rejected"等

从创建新对象"Person_modification"的那一刻起,直到其状态为"approved"或"rejected",底层"Person"对象都应该被锁定,即任何其他用户/事务都不能修改它。也就是说,从最初的变更到批准变更可能需要几天或几周/几个月的时间。在此期间,对象不应是可修改的。

Hibernate中有没有一个功能,可以让我对一个对象进行这样的锁定,该锁定在Hibernate意义上的"事务"之外一直持续到手动释放?

还是在"Person"对象上创建一个额外的属性来指示它当前是否被"Person_modification"对象修改?

使用额外的属性,而不是基于hibernate的属性,因为它们只是事务性的。您可以创建触发器,该触发器可以监控更新,并且只有在特定条件为真实时才允许更新

最新更新