При попытке получить блокировку PESSIMISTIC_READ для строки базы данных при большой нагрузке иногда получается NPE.
EntityManager em = SMEntityManagerFactory.getEM();
AccountDao accountDao = new AccountDao(em);
AccountEntity entity = accountDao.findEntityByName(this.getUserName(),this.getUserDomain());
em.lock(entity, LockModeType.PESSIMISTIC_READ);
Errors:
java.lang.NullPointerException
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.executeQuery(EntityManagerImpl.java:920)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.lock(EntityManagerImpl.java:1903)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.lock(EntityManagerImpl.java:1846)
at sun.reflect.GeneratedMethodAccessor2006.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)