У меня есть сущность с отношениями один-ко-многим. Проблема в том, что у меня есть уникальное ограничение на некоторые поля в сущности с отношением один ко многим, и когда я пытаюсь сначала очистить, а затем установить новые сущности (в одной транзакции) от одного ко многим, я получаю java. sql .SQLIntegrityConstraintViolationException: повторяющаяся запись. Похоже, что метод JPA save () сначала пытается добавить новые записи, а затем удалить старые, и из-за пересечения он получает исключение.
@Transactional
public void updateUsers() {
RepairEntity repairEntityWithoutUsers = repairEntity.clearRepairAssignEntities();
RepairEntity savedRepairEntityWithoutUsers = repairService.save(repairEntityWithoutUsers);
Set<RepairAssignEntity> newRepairUsers = getRepairUsers(repair, clientEntity);
RepairEntity updatedRepairEntity = savedRepairEntityWithoutUsers.withRepairAssignEntities(newRepairUsers);
RepairEntity savedRepairEntity = repairService.save(updatedRepairEntity);
}
, а когда после @Transactional база данных пытается обновить - исключение выброшены.