На моей стороне клиента код вроде этого:GWT RequestFactory не может обновить объект графа
@ProxyFor(...)
public interface AProxy
{
BProxy getChild();
void setChild(BPorxy child);
}
RequestContext ctx=...
AProxy parent=...
AProxy a=ctx.edit(parent);
a.getChild().setContent("new content");//update content
ctx.save(a).fire();
из браузера отладки консоли я могу увидеть запрос отправляется на сервер с обновленным новым содержанием, но с сервера стороны по save(A a)
, содержание дочернего элемента b совпадает с предыдущим (никогда не менялось), но отражается другое обновление в a
.
И я использую локатор на стороне сервера. Нет проблем при создании графа сущности, просто не может быть обновлено.
Кто-нибудь прояснил, в чем проблема? Спасибо
Благодаря Томас, я проверил мой 'B' прокси настроен правильно. Я забыл упомянуть, что мой «BProxy» - это «EntityProxy», а не «ValueProxy», интересно, поддерживает ли GWT обновление графа объектов EntityProxy одновременно? – Mike
Вероятно, это зависит от того, как настроен уровень персистентности. Как выглядит метод 'save()' на сервере? Думаю, это просто называет 'em.perrist (a);'? Если вы используете 'JPA2', вы можете указать правила' cascade' (т. Е. Merge, persist и т. Д.). –