I am using hibernate as a persistence layer. There are 2 entities that live in the same table extending one superclass with single table inheritance strategy.
You can use your own id (not generated) and do the following:
In this way you will clear the id from the table before re-inserting it as C.