No problem.
Assuming everything you said is correct, looks like the first page (8 person, 16 address) are saved in the JpaItemWriter (correct) but when returning to ItemReader they are being saved again, so first page makes 32 records. Next page (7 persons, 14 address), ItemWriter saves it, giving us 46 records.
JpaItemWriter already does a merge + flush so the entities should be sync and Reader wouldn't update them. So weird.

