Я пытаюсь реализовать приведенную ниже собственную логику запросов, используя спящий режим (Spring JPA). Но save(Iterable) выдает исключение и откатывает всю транзакцию, если одна из записей не сохраняется. Есть ли способ уловить ошибку записи и продолжить вставку в другие записи.
например: -
Собственный запрос Sql
set autocommit=false
delete from EMPLOYEE;
insert into EMPLOYEE(id, name, sal) values(2, ‘Roy’, ‘rt’); —-stmt1
insert into EMPLOYEE(id, name, sal) values(2, ‘Joe’, 3000);
commit;
Примечание: столбец sal в таблице EMPLOYEE является числовым. Выполнение продолжается, даже несмотря на сбой stmt1.
Hibernate (CrudRepository)
@Autowired
CrudRepository employeeRepository;
@Transactional
public void saveToDB(List dataList) {
employeeRepository.deleteAll();
employeeRepository.save(dataList);
}
Подробнее здесь: https://stackoverflow.com/questions/503 ... ransaction