我们将 Hibernate 3.1 与 Spring MVC 2.0 一起使用。当直接在数据库上更新数据(而不是在应用程序中)时,就会出现我们的问题。我们使用过滤器根据订单是否打开或关闭来过滤结果集合。如果我们将 DB 上的订单更改为关闭,过滤器会返回正确的列表,但是,对象的状态不会改变。
- 我们没有启用二级缓存或查询缓存。
- 从数据库中检索集合是通过 Hibernate 的 Session.createQuery。
- 此外,我们连接了一个 SessionFactory,并在整个应用程序中使用一个 Session。
对象显示正确状态结果的唯一时间是服务器重新启动时——我们不希望定期这样做。