| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > JPA, кеш, хранимые процедуры |
| Автор: Feldsher 30.1.2013, 13:29 | ||
Ребята, подскажите пожалуйста, кешируются ли результат выполнения хранимой процедуры через NativeQuery?
Если нет - как вызывать процедуры с кешированием результатов? Заранее спасибо., |
| Автор: mbasil 31.1.2013, 08:50 |
| Скорее всего результат выполнения хранимой процедуры, вызванной через NativeQuery НЕ кэшируется. в контексте постоянства, так как разработчики JPA презираеют хранимые процедуры и считают, что их вообще нет. 1. Если вы используете Oracle 11g, результаты вызова детерминированных процедур можно кэшировать средствами базы. 2. В противном случае можно создать класс, который JPA будет считать Entity и сунуть туда резульатат вызова процедуры. Сущность будет кэшироваться, а с ней и результат, но это "обходный маневр". Например, в Oracle 11g можно создавать столбцы таблицы, которые на самом деле не являются столбцами а лишь вычислимыми выражениями. Добавлено через 4 минуты и 7 секунд А вообще, что вам мешает вызывать хранимую процедуру не через JPA, поскольку это вообще изврат (в силу отношения разработчиков), а через JDBC напрямую и написать простой кэш самому. |
| Автор: Feldsher 13.5.2013, 15:32 |
| Спасибо. |