У нас есть сценарии, в которых нам нужно вставить запись в таблицу, когда мы вставляем запись, используя em.persist
, это дает нам идентификатор, который мы регистрируем, но некоторое время (запись 2K из записи 200K) идентификатор, который регистрируется, неприсутствует в БД.
Когда происходит вставка (упомянутая ранее), другой поток может вставить запись в ту же таблицу.
Мы используем EJB и вводим
@PersistenceContext(unitName = "ecm-nocache")
private EntityManager em;
И вставка происходит в разных компонентах и запускается из веб-сервисов.
Примечание: вставка 200К записей происходит из веб-сервисов одна за другой
Так как это в производстве, и мы неОгромный набор данных в тестовой среде, поэтому невозможно воспроизвести то же самое. Как определить причину проблемы? Любой потенциальный клиент будет оценен
Спасибо, большое
ProductClassification pc = new ProductClassification();
pc.setClassification(classification);
pc.setProduct(product);
em.persist(pc);
log.info( pc.getId()+"----"+classification.getId()+"----"+product.getId() );