I´m using an ORM (Devart´s) to access the database, so, I
cannot "select ... FOR UPDATE". The application paradigm
is that a user have a list of records (after a query) and
she could update or delete any of them as the business
rules allows it. So, at least an advisory lock is a must.
I´m convinced by now: I would stay with advisory locks...
expecting no app crash could occur...
I would say to fix this in the ORM rather than reinvent
what the database already gives you in the database.