title: Clone complex Hibernate entity
body: <p>I need to make clone of very large and complex Hibernate entity with many @OneToMany, @OneToOne etc. relations, change some properties and store the cloned object to the database.</p>
  
  <p>What I believe needs to be done is:</p>
  
  <ol>
  <li>Fetch object from DB</li>
  <li>Detach object from hibernate</li>
  <li>Remove all primary and foreign keys(to be auto-generated again)</li>
  <li>Update required properties</li>
  <li>Persist detached object</li>
  </ol>
  
  <p>Is this possible to do this in more elegant way? Is this approach even correct?
  Table alone has over 50 columns, so the approach mentioned above is, in my opinion, very inefficient, hard to test etc...</p>
  
  <p>Thanks!</p>