Я только что обновился с wildfly 12 до 18 и с Java 8 до 11. В моем проекте код не изменился. Однако выполнение интеграционных тестов привело к действительно странной проблеме. Операторы UPDATE больше не выполняются. Например:
@Transactional
public void updateStatus(final long id, final Status status)
{
final Item item = entityManager.find(Item.class, id, LockModeType.PESSIMISTIC_WRITE);
item.setStatus(status);
entityManager.merge(item);
}
Раньше это приводило к запуску оператора обновления, теперь ничего не происходит. Если я вызываю entityManager.flush()
после merge()
, выполняется оператор обновления, но база данных не отражает обновленный объект.
Понятия не имею, что может быть причиной такого рода вещей. Единственное, о чем я могу думать, так это о том, что какая-то конфигурация по умолчанию в wildfly 18 отличается от 12?