After some research, I came up with the following:
If the element writer cannot commit a piece (there are 50 elements here), which will result in a rollback, Spring Batch will restart each element of the problem block individually with one commit / transaction for each element.
Consequently, all 49 elements will be present in the database, except for one element due to which Spring Batch rolls back a piece.
source share