| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Взаимодействие сервлета и бд |
| Автор: stalk37 8.6.2009, 13:53 |
| Сервер приложений Glassfish бд Oracle Такое впечатление что сервлет не отсылает запросы к бд а использует кешированный результат. Т.е. - через SQL Developre редактирую бд, но при работе приложения все равно выходят старые данные. С чем это может быть связано ? |
| Автор: NeoNYura 8.6.2009, 14:57 |
| Ошибка в 35 строке. а так попробуйте делать commit(); |
| Автор: stalk37 9.6.2009, 09:32 | ||
Как делаю - просто
В том то и дело - нет никаких ошибок(в смысле багов, эксепшенов), просто запрос возвращает данные которые были до модификации. Тако впечатление - будто результат выборки просто где-то закешировался и используется. Если остановить работу, то на следующий день запрос вернет то что надо, до тех пор пока снова не придется в ручную отредактировать данные. |
| Автор: MisterCleric 9.6.2009, 09:42 | ||
А commit Вы после этого вызываете в SQL Developre ? |
| Автор: stalk37 9.6.2009, 10:17 | ||||
Т.е. ? Например, я в SQL Developre выполняю запрос типа
запрос проходит, делаю выборку - вижу что данные обновились. Запускаю приложение - используются старые даннные, до обновления. И чтобы данные правильно отображались в приложении в SQL Developre нужно выполнить commit ? |
| Автор: NeoNYura 9.6.2009, 10:26 |
| Без commit вы видите изменения только в своей сессии, на самом деле пока не нажата кнопка изменения в БД не произойдут. То есть в sql developer выборка будет показываться А для других пользователей/приложений изменения не будут видны пока вы не нажмете кнопку commit |
| Автор: MisterCleric 9.6.2009, 10:52 | ||
Ну я не думал, что нужно пояснять такие элементарные понятия, как сеанс работы с базой... |
| Автор: NeoNYura 9.6.2009, 10:55 | ||
Если не делается коммит, то наверно нужно |