title: Realize entity copy on NHibernate update
body: <p>How can I make such behaviuor in NHibernate:</p>
  
  <p>There is an entity called User in my domain</p>
  
  <pre><code>// I ommit mapping attributes
  public class User
  {
    int Id {get; set;}
    int pId {get; set;}
    //....other props, such as Login, Name, email...
  }
  </code></pre>
  
  <p>I need to make full copy of it, when updating. pId must be set to original Id. Old entity must be untouched. </p>
  
  <p>So this must be like some versioning system, where pId - is immutable identity, and Id - is like version. I`ve tried to use Version mapping attribute, but it just updates Version field, withou recreating full entity. What approach will be better?</p>