不幸的是,在当前的JPA实现AFAIR中,无法从实体管理器断开一个对象的连接。
EntityManager.clear()将断开 所有
JPA对象的连接,因此,如果您确实有其他对象打算保持连接,则在所有情况下这都不是一个合适的解决方案。
因此,最好的选择是克隆对象,并将克隆传递给更改对象的代码。由于默认克隆机制以适当的方式处理了原始和不可变的对象字段,因此您无需编写大量的管道代码(除了深克隆可能具有的任何聚合结构之外)。

不幸的是,在当前的JPA实现AFAIR中,无法从实体管理器断开一个对象的连接。
EntityManager.clear()将断开 所有
JPA对象的连接,因此,如果您确实有其他对象打算保持连接,则在所有情况下这都不是一个合适的解决方案。
因此,最好的选择是克隆对象,并将克隆传递给更改对象的代码。由于默认克隆机制以适当的方式处理了原始和不可变的对象字段,因此您无需编写大量的管道代码(除了深克隆可能具有的任何聚合结构之外)。