У меня есть простой метод, который просто делает две строки и пытается вернуть все объекты в таблице базы данных оракула:
DetachedCriteria criteria = DetachedCriteria.forClass(Object.class);
return (Collection)getHibernateTemplate().findByCriteria(criteria);
Однако я получил ошибку "ORA-01031: недостаточно привилегий". Когда я проверил логи для show_sql, я нашел это:
Hibernate: select this_.NAME as NAME8_0_, from PL_VW this_ where ID=?
Hibernate: update PL_VW set NAME=? where ID=?
Hibernate: update PL_VW set NAME=? where ID=?
Hibernate: update PL_VW set NAME=? where ID=?
Hibernate: update PL_VW set NAME=? where ID=?
Hibernate: update PL_VW set NAME=? where ID=?
...
Почему findByCriteria выбирает идентификатор и выполняет несколько обновлений? Должен ли быть предоставлен доступ к обновлению для всех таблиц, которые подключены к Hibernate? Я не хочу, чтобы таблицы обновлялись!
Или что-то не так с кодом?
Заранее спасибо.