Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring Hibernate标准列表没有';不要立即返回新记录_Spring_Hibernate_Spring Mvc_Open Session In View - Fatal编程技术网

Spring Hibernate标准列表没有';不要立即返回新记录

Spring Hibernate标准列表没有';不要立即返回新记录,spring,hibernate,spring-mvc,open-session-in-view,Spring,Hibernate,Spring Mvc,Open Session In View,我正在使用SpringMVC和Hibernate4。 我的问题是使用Criteria with list()方法从表中获取所有记录有一个第三方进程,它每1秒向表中插入一次记录,还有一个屏幕,每次用户按下“刷新”按钮时都会显示该表当我在同一个会话上使用Criteria.list()时,我得到了延迟45秒的记录。最低限度这意味着用户可以看到仅在45秒之前插入的记录 这是使用的标准: Criteria crit = getCurrentSession().createCriteria(Audit.cl

我正在使用SpringMVC和Hibernate4。
我的问题是使用Criteria with list()方法从表中获取所有记录

有一个第三方进程,它每1秒向表中插入一次记录,还有一个屏幕,每次用户按下“刷新”按钮时都会显示该表
当我在同一个会话上使用Criteria.list()时,我得到了延迟45秒的记录。最低限度这意味着用户可以看到仅在45秒之前插入的记录

这是使用的标准:

Criteria crit = getCurrentSession().createCriteria(Audit.class);
return ((List<Audit>) crit.list());
另外,我使用的是:OpenSessionInViewFilter

我已经尝试过:

  • 禁用查询缓存
  • 将隔离级别更改为更高级别
  • clear()会话
有什么建议吗

谢谢,
Tal.

查询缓存不相关,因为它使用条件

存在会话缓存,是否为每个请求创建新会话

您确定插入正确插入了新数据/并且网页显示正确没有问题吗。没有二级缓存?

我使用:getCurrentSession()来处理Spring MVC OpenSessionInViewFilter的每个请求。我还尝试根据此会话连接设置打开新会话,但未成功。没有二级缓存。另外,为了确保新数据插入正确,我每次都用TOAD来检查它。谢谢,塔尔。
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(isolation = Isolation.READ_COMMITTED, value = "auditsTxManager")