我正在执行下面的MySQL UPDATE查询,
Query query = em.createNamedQuery("User.unSubscribeUserByEmailId");
query.setParameter("emailId", emailId);
query.executeUpdate();
User.unSubscribeUserByEmailId
说,
query = "UPDATE User u set u.unsubscribed=1,u.unsubscribedReason='unsubscribed' WHERE u.emailId = :emailId"),
我还要在这里提及的另一件事是,“用户”表也是其他表经常使用/命中的表。 另外,我没有一次使用大量的emailId更新,而是有一个foreach循环,其中单个ID正在更新取消订阅状态,例如,
for(String emailId : existingEmailIds.getListItems()){
unsubscribeEmailId(emailId, whitelistDomains, blacklistDomains);
}
不明白为什么我会收到“超出锁定等待超时”异常。