What about evicting the entity, setting the id to zero, and then updating it. Hibernate should treat it as a new entity, and add a new record. You may need to make sure you're not using lazy loading to get the associated objects.
Making use of BeanUtils.copyProperties to copy into a seperate entity seemed to work (I did need to manually update collection references as they pointed to the old object).
I'm a bit surprised in having to implement things in this manner. I would have thought hibernate, from an entity perspective would allow the basic operations on them (including copy).
If you two don't stop this rough-housing somebody is going to end up crying. Sit down and read this tiny ad: