デタッチ コピーについての私の理解では、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;
}