Постоянная реализация объекта данных - PullRequest
0 голосов
/ 24 августа 2011

У меня есть страница, на которой пользователь может редактировать много информации, сейчас около 100 строк DDL и текстовую область. Я хочу обновлять объект данных после каждого изменения, так что мне нужно только сохранить в базу данных измененные строки вместо обновления каждой строки.

т.е. когда значение DDL изменяется или когда данные текстовой области изменились (это делается во всплывающем окне, так что оно будет изменено только при нажатии кнопки «ОК»), оно будет сохранено в массив, содержащий каждую обновленную строку как объект. Когда пользователь нажимает сохранить, он сохраняет только те строки, которые были изменены.

Сейчас я использую AJAX, чтобы он сделал HTTPRequest, получил массив из сеанса и добавил новую запись с новым значением. К сожалению, я считаю, что страница порой наступает сама собой и не сохраняет правильные данные. Я не уверен, почему, но мне было интересно, что будет лучшим способом реализации этого, и если это хороший способ сделать это.

Будет ли Java-бин или что-нибудь еще лучше представлять объект данных?

Не будет ли доступ и сохранение в сеансе более быстрым и предотвратит это?

1 Ответ

0 голосов
/ 24 августа 2011

Java bean очень хорош для этой цели (по сравнению с Java-картой).

Как я понимаю, вы хотите вызывать UPDATE только для элементов, которые изменились, лучше всего было бы реализовать equals () для этого класса Java-бинов.

Вы должны хранить старые значения в сеансе или где-либо еще на сервере, чтобы иметь возможность определить, что изменилось.

В любом случае, вам придется зацикливаться и сравнивать каждый объект:

if (!prevValue.equals(currValue)) {
  DAO.update(currValue);
}
...