2012-04-26 3 views
2

Я пытаюсь обновить мой класс сущностей, но я получаю:Update запрос с использованием JPA и Google App Engine

javax.persistence.PersistenceException: Only select and delete statements are supported. 

это точный код работал хорошо, когда я не использую приложение Google двигатель. Мой код:

em.getTransaction().begin(); 

    Query query = 
      em.createQuery("UPDATE Profile p" + 
          "SET p.age = 1 " + 
          "WHERE p.email = :email"); 

    query.setParameter("newPoint", point); 
    query.setParameter("email", email); 

    int updateCount = query.executeUpdate();   
    em.getTransaction().commit(); 

Так я и спрашиваю, как я могу обновить запрос лица?

ответ

2

Поскольку хранилище данных GAE не поддерживает запрос, который напрямую обновляет поля в хранилище данных, вы аналогичным образом не можете сделать это через API JPA. Поскольку JPA никогда не предназначалась для других типов хранилищ данных, тогда вы увидите функции, которые неприменимы.

Извлеките объекты через запрос и обновите их вручную.

Когда GAE обеспечивает полную карту-свертка вне коробки, то что-то подобное будет жизнеспособным для поддержки

+0

Как можно обновить большую таблицу? вы можете ответить на этот http://stackoverflow.com/questions/12896162/update-all-objects-in-jpa-entity – Rami

Смежные вопросы