There is very probably an exception or some other problem marking the transaction as rollbackOnly. You have to figure what is this problem. Eventually flush the EntityManager manually to get sooner a database exception.
I advise again defining transaction yourself with @Transactional(propagation = Propagation.REQUIRES_NEW)
as proposed by @Rakesh Gurung. Spring Batch already manages transaction, also for Tasklet, so better not interfere (or really needing it and knowing the pitfalls). About Spring Batch Tasklet: https://docs.spring.io/spring-batch/reference/step/tasklet.html