Question: I have an entity, that represent order sent by the customer , this order might be updated after some discussion with the customer on phone, but the initial order sent by the customer must be persisted without update. 
how i can persist same entity twice , is it efficient to use deep cloning.
i have tried to detach the the entity in order for persistence context to persist a new one , but still the persistence context is updating the first entry.

Answer: 
You can not persist one object twice in one session, so you need copy your order and save (persist) it again. 
[hibernate copy object values into new object with new generated ID](https://stackoverflow.com/questions/9944882/hibernate-copy-object-values-into-new-object-with-new-generated-id)
You need to clone/copy the object, ensure it has a unique id (or null if generated).

In EclipseLink there is an API to copy objects,

<http://wiki.eclipse.org/EclipseLink/Examples/JPA/AttributeGroup#Copy_Examples>