Package org.hibernate

Interface Session.LockRequest

  • Enclosing interface:
    Session

    public static interface Session.LockRequest
    Contains locking details (LockMode, Timeout and Scope).
    • Field Detail

      • PESSIMISTIC_NO_WAIT

        static final int PESSIMISTIC_NO_WAIT
        Constant usable as a time out value that indicates no wait semantics should be used in attempting to acquire locks.
        See Also:
        Constant Field Values
      • PESSIMISTIC_WAIT_FOREVER

        static final int PESSIMISTIC_WAIT_FOREVER
        Constant usable as a time out value that indicates that attempting to acquire locks should be allowed to wait forever (apply no timeout).
        See Also:
        Constant Field Values
    • Method Detail

      • getLockMode

        LockMode getLockMode()
        Get the lock mode.
        Returns:
        the lock mode.
      • setLockMode

        Session.LockRequest setLockMode​(LockMode lockMode)
        Specify the LockMode to be used. The default is LockMode.none.
        Parameters:
        lockMode - The lock mode to use for this request
        Returns:
        this LockRequest instance for operation chaining.
      • getTimeOut

        int getTimeOut()
        Get the timeout setting.
        Returns:
        timeout in milliseconds, -1 for indefinite wait and 0 for no wait.
      • setTimeOut

        Session.LockRequest setTimeOut​(int timeout)
        Specify the pessimistic lock timeout (check if your dialect supports this option). The default pessimistic lock behavior is to wait forever for the lock.
        Parameters:
        timeout - is time in milliseconds to wait for lock. -1 means wait forever and 0 means no wait.
        Returns:
        this LockRequest instance for operation chaining.
      • getScope

        boolean getScope()
        Check if locking is cascaded to owned collections and relationships.
        Returns:
        true if locking will be extended to owned collections and relationships.
      • setScope

        Session.LockRequest setScope​(boolean scope)
        Specify if LockMode should be cascaded to owned collections and relationships. The association must be mapped with cascade="lock" for scope=true to work.
        Parameters:
        scope - true to cascade locks; false to not.
        Returns:
        this, for method chaining
      • lock

        void lock​(String entityName,
                  Object object)
        Perform the requested locking.
        Parameters:
        entityName - The name of the entity to lock
        object - The instance of the entity to lock
      • lock

        void lock​(Object object)
        Perform the requested locking.
        Parameters:
        object - The instance of the entity to lock