No, no, you're not wrong actually. And you have identified a problem with this pattern. Personally, I'm a fan of plain SQL (using Micro ORMs), so I avoid the complexities of ORM mappings that way.
However, as far as I can see you usually will need the same ID to be used consistently for each state of the entity. I haven't thought how an ORM-backed repository would look for such scenario.
If using SQL, you could have 1 repository, and 1 table, where the repository knows how to save each state, and the DB table has all of the possible columns, and maybe a flag indicating which state the Entity is currently in. That's how I would do it with raw SQL anyway.
If you find a better please let us know? Perhaps you could write a blog post? If you do, let me know and I'll retweet it.
In fact... I might knock up an example in Scala when I don't have 1 million other things on my Trello board
Thanks for your comment. Hope your enjoying the book. Any more questions, please keep them coming.