Package org.hibernate
Interface Session.LockRequest
-
- Enclosing interface:
- Session
public static interface Session.LockRequestContains locking details (LockMode, Timeout and Scope).
-
-
Field Summary
Fields Modifier and Type Field Description static intPESSIMISTIC_NO_WAITConstant usable as a time out value that indicates no wait semantics should be used in attempting to acquire locks.static intPESSIMISTIC_WAIT_FOREVERConstant usable as a time out value that indicates that attempting to acquire locks should be allowed to wait forever (apply no timeout).
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description LockModegetLockMode()Get the lock mode.booleangetScope()Check if locking is cascaded to owned collections and relationships.intgetTimeOut()Get the timeout setting.voidlock(Object object)Perform the requested locking.voidlock(String entityName, Object object)Perform the requested locking.Session.LockRequestsetLockMode(LockMode lockMode)Specify the LockMode to be used.Session.LockRequestsetScope(boolean scope)Specify if LockMode should be cascaded to owned collections and relationships.Session.LockRequestsetTimeOut(int timeout)Specify the pessimistic lock timeout (check if your dialect supports this option).
-
-
-
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 withcascade="lock"for scope=true to work.- Parameters:
scope-trueto cascade locks;falseto 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 lockobject- 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
-
-