Когда я загружаю прокси-сервер сущностей, который имеет вложенную коллекцию прокси-серверов сущностей (например, прокси-сервер сущностей AddressBook, содержащий список прокси-серверов контактов), и если я изменяю внутренний список (список контактов), как удаление элемента, и вызвать постоянную на нем, фабрика запросов отправляет весь список контактов.Это ожидаемое поведение, или он должен отправлять только команду для удаления элемента на сервере?
Вопрос в том, отправляет ли фабрика запросов дельты только для изменений на уровне поля, или вычисляет дельтытакже для коллекций?
ContactProxy
interface ContactProxy extends EntityProxy {
...
//Getters and setters for firstName, lastName, phoneNumber etc...
...
}
AddressBookProxy
interface AddressBookProxy extends EntityProxy {
...
List<ContactProxy> getContacts();
void setContacts(List<ContactProxy> contacts);
...
}
Код фокуса:
//Assume I received an abProxy from a previous context.
AddressBookRequestContext context = requestFactory.requestContext();
abProxy = context.edit(abProxy);
abProxy.getContacts().remove(0);
context.persist().using(abProxy).fire();
Приведенный выше фрагмент кода отправляетВесь список контактов получен в предыдущем контексте, но я ожидал отправить только команду удаления на сервер.Я что-то не так делаю?
Теперь, когда я изменяю один контакт в прокси-сервере сущности AddressBook и выполняю вызов для сохранения, он все равно отправляет весь список контактов.Какой обходной путь должен заставить дельты работать при такого рода изменениях уровня сбора.