NPersistence Reference Guide
Find by primary key and lock. Search for an entity of the specified class and primary key and lock it with respect to the specified lock type. If the entity instance is contained in the persistence context, it is returned from there, and the effect of this method is the same as if the lock method had been called on the entity. If the entity is found within the persistence context and the lock mode type is pessimistic and the entity has a version attribute, the persistence provider must perform optimistic version checks when obtaining the database lock. If these checks fail, the OptimisticLockException will be thrown. If the lock mode type is pessimistic and the entity instance is found but cannot be locked:
  • the PessimisticLockException will be thrown if the database locking failure causes transaction-level rollback
  • the LockTimeoutException will be thrown if the database locking failure causes only statement-level rollback

Namespace: NPersistence
Assembly: NPersistence (in NPersistence.dll) Version: (


T Find<T>(
	Type entityClass,
	Object primaryKey,
	LockModeType lockMode


entity class
primary key
lock mode

Type Parameters


Return Value

the found entity instance or null if the entity does not exist


System..::..ArgumentException if the first argument does not denote an entity type or the second argument is not a valid type for that entity's primary key or is null
NPersistence..::..TransactionRequiredException if there is no transaction and a lock mode other than NONE is specified
NPersistence..::..OptimisticLockException if the optimistic version check fails
NPersistence..::..PessimisticLockException if pessimistic locking fails and the transaction is rolled back
NPersistence..::..LockTimeoutException if pessimistic locking fails and only the statement is rolled back
NPersistence..::..PersistenceException if an unsupported lock call is made

See Also