Мое понимание отделенной копии состоит в том, что она создает копию вашего объекта, так что вы можете вносить в нее изменения, не обращая внимания на PersistenceManager.
Поскольку я закрываю свой PersistenceManager перед передачей объекта модели в представление, которое будет использоваться, мне не придется вызывать что-либо вроде detachCopy или makeTransient, прежде чем передать его, не так ли?
Примеры, на которые я смотрел, называют это ...
Это пример, который я посмотрел с http://code.google.com/appengine/docs/java/datastore/creatinggettinganddeletingdata.html:
public Employee getEmployee(User user) {
PersistenceManager pm = PMF.get().getPersistenceManager();
Employee employee, detached = null;
try {
employee = pm.getObjectById(Employee.class,
"Alfred.Smith@example.com");
// If you're using transactions, you can call
// pm.setDetachAllOnCommit(true) before committing to automatically
// detach all objects without calls to detachCopy or detachCopyAll.
detached = pm.detachCopy(employee);
} finally {
pm.close();
}
return detached;
}