acquire
Acquires an exclusive session-level advisory lock, waiting if needed.
Uses "select 1 from ...", because pg_advisory_lock returns void and singleResult crashes upon deserialization with "No Dialect mapping for JDBC type: 1111". Related SO Q&A: https://stackoverflow.com/questions/12557957/jpa-hibernate-call-postgres-function-void-return-mappingexception