hi,
I tried the "Updating an Object" (using detachable property) example given here<http://code.google.com/appengine/docs/java/datastore/creatinggettinganddeletingdata.html#Updating_an_Object>. While experimenting with it I found that even if I do not add *detachable="true" *property to my JDO class it works without any problem. Is it ok to work without detachable property or it just worked with my case? Following is the code I tried : @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Data{ @SuppressWarnings("unused") @PrimaryKey *...@persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)* private Long id; @Persistent private String value; public Data(String value){ this.value = value; } public void setValue(String value){ this.value = value; } public String getValue(){ return this.value; } } public class Main extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException{ doReq(req, resp); } public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException{ doReq(req, resp); } private void doReq(HttpServletRequest req, HttpServletResponse resp) throws IOException{ Data data = new Data("some value"); *PersistenceManager pm = PMF.get().**getPersistenceManager(); pm.makePersistent(data); // NOTE: i am not detaching the object pm.close();* * chageValue(data);* } @SuppressWarnings("unchecked") private void chageValue(Data data){ *PersistenceManager pm = PMF.get().**getPersistenceManager(); data.setValue("some other value."); pm.makePersistent(data); pm.close();* } } i want to fetch object(s) from datastore, cache it to Memcache and use the same (cached object) for further uses (over requests). and if any change happens to the object(s) i want to update the object(s) to datastore straight away using cashed instance of object instead of fetching it (again) form datastore and then updating it. following is a code snippet: ... ... Data data = *cache*.get("key"); data.setValue("new updated value"); pm.makePersistent(data); *cache*.put("key", data); ... ... ... is it necessary to add *detachable="true"* to my JDO class (Data) ? is it necessary to detach object before caching to Memcache? is it required for my JDO class (Data) to extend Serialzable Class? Thanks. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---
