AppEngine (JAVA): обновление записи - PullRequest
0 голосов
/ 18 февраля 2010

У меня есть следующий код [в doPost ()] для редактирования существующей записи. Это не дает никакой ошибки, но запись не сохранена. Любая идея? или Каков наилучший способ обновления существующей записи на основе одного уникального поля?

     if(sAction.compareToIgnoreCase("S")==0)
     {

         String email = req.getParameter("Email");

         PersistenceManager pm = PMF.get().getPersistenceManager();             
         Query query = pm.newQuery(SMSUser.class);
         query.setFilter("Email == pEmail");
         query.declareParameters("String pEmail");
         List<SMSUser> users = (List<SMSUser>) query.execute(email);
         if(!users.isEmpty())
         {
            Iterator it = users.iterator();
            SMSUser u = (SMSUser) it.next();
            u.ContractPerson = req.getParameter("ContractPerson");
            u.Company = req.getParameter("Company");
            u.Address = req.getParameter("Address");
            u.Phone = req.getParameter("Phone");
            u.Aid = req.getParameter("Aid");
            u.Pin = req.getParameter("Pin");
            u.SenderId = req.getParameter("SenderId");
            u.Url = req.getParameter("Url");
            u.Operater = Integer.parseInt(req.getParameter("Operater"));

            pm.makePersistent(u);
        }
        return;
     }

Ответы [ 2 ]

1 голос
/ 18 февраля 2010

Сохранение элемента с использованием непосредственно PersistenceManager требует, чтобы вы закрыли диспетчер постоянства, так как в документе GAE четко указано .

0 голосов
/ 05 марта 2010

Я добавил функции получения / установки, и он работает. Все еще задаетесь вопросом, почему ??? Однако моя проблема была решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...