Список Критерии гибернации не возвращает новые записи немедленно

Я использую Spring MVC с Hibernate 4.
Моя проблема, когда я использую Criteria с методом list(), чтобы получить все записи из таблицы.

Существует сторонний процесс, который вставляет записи в таблицу каждую 1 секунду, и экран, который представляет эту таблицу, как каждый раз, когда пользователь нажимает кнопку "Обновить".
Когда я использую Criteria.list() в одном сеансе, я получаю записи с задержкой в ​​45 секунд. минимум. Это означает, что пользователь видит записи, которые вставляются только за 45 секунд.

Это критерии использования:

Criteria crit = getCurrentSession().createCriteria(Audit.class);
return ((List<Audit>) crit.list());

Это hibernate + настройки транзакции:

Session Factory:
<bean id="auditsSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="abstractDataSource"/>
        <property name="packagesToScan" value="com.java.model" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
                <!-- Only for debug -->
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.connection.charSet">UTF-8</prop>
            </props>
        </property>
    </bean>

Transcation Manager:
<bean id="auditsTxManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="auditsSessionFactory"/>
    </bean>

Настройка @Transactional:

@Transactional(isolation = Isolation.READ_COMMITTED, value = "auditsTxManager")

Также я использую: OpenSessionInViewFilter

Я уже пытался:

  • Отключить кеш запросов
  • Изменить уровень изоляции на более высокий
  • очистить () сессия

Какие-либо предложения?

Спасибо, Тал.

1 ответ

Кеш запросов не актуален, так как здесь используются критерии.

Есть кеш сессии, вы создаете новую сессию с каждым запросом?

Вы уверены, что вставки вставляют новые данные правильно / и не проблема с корректным отображением веб-страницы. А кеша 2-го уровня нет?

Другие вопросы по тегам