Google App Engine ve devam seçeneği JDO ile denemeler yapıyorum. Geçici bir nesneyi kalıcı bir nesneyle eşlemek mümkün olup olmadığını bilmek ister misiniz? Ya da kalıcı nesneyi geçici nesnenin kullanımıyla güncellemek için bir şey var mı? JDO - Bir Nesne Güncelleme
Ben kodlama i aşağıdaki kod parçası nesneleri güncelleştirmek için bkz örnekler
: JPA yaptığı gibi ben bütün nesneyi güncelleyebilirsiniz eğerpublic void updateEmployeeTitle(User user, String newTitle) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
Employee e = pm.getObjectById(Employee.class, user.getEmail());
if (titleChangeIsAuthorized(e, newTitle) {
e.setTitle(newTitle);
} else {
throw new UnauthorizedTitleChangeException(e, newTitle);
}
} finally {
pm.close();
}
}
Ama bu ne istediğimi değil, herkes biliyor: nesne. güncelleştirme();
Yani ben böyle bir şey istiyorum: datastore'una bunu bulmak için bir yolu yoktur bu yüzdenpublic User update(User u) {
PersistenceManager pm = PMF.get().getPersistenceManager();
User usr;
try {
usr = pm.getObjectById(User.class, u.getId());
// copy transient object u to persist object usr.
// on update of usr all changes in object u are persistent.
} finally {
pm.close();
}
return u;
}
makePersistent çalışmaz. – pjesi
Nesne veri deposundan okunduğunda ve aynı işlemde ise, makePersistent'i çağırmanın hiçbir anlamı yoktur, herhangi bir değişiklik otomatik olarak veri deposuna konur. Nesne veri deposundan okunduktan sonra ayrıldıysa ve bir şey değiştirdiyseniz, makePersistent'i çağırmak, değişiklikleri eklediğinden kesinlikle "çalışır". Belirli sorunlarınız varsa, bunları Google'ın appengine grubuna bildirmenizi öneririm – DataNucleus