Вы, вероятно, не хотите использовать блокировку уровня базы данных для этого.Большинство баз данных и конфигурации баз данных не основаны на концепции длительных блокировок.
Самый общий подход, который я могу придумать, - это создать какой-либо сервис блокировки в вашем приложении.Служба блокировки имеет синхронизированные методы, такие как tryObtainLock, которые получают блокировку и возвращают значение true, если блокировка доступна, или возвращают значение false, если блокировка была недоступна (в этот момент вы, вероятно, отправите сообщение об ошибке пользователю, сообщив ему, что элемент заблокирован).
Служба блокировок может затем сохранить в своей таблице список блокировок, кто их запрашивал и когда они были получены.Время от времени вы можете проверять, удерживались ли какие-либо замки более 7 минут, и если да, отпустите их и уведомите человека, получившего замок, что у него больше нет этого.