【问题标题】:Getting old values from database, even after update?从数据库中获取旧值,即使在更新之后?
【发布时间】:2012-01-22 10:51:05
【问题描述】:

我使用 MySQL 作为 DB,Toplink 作为持久层必不可少。

有一个专栏,我过去经常更新。但是我总是得到服务器启动实例中的值。

但是我重新启动服务器,然后它才给我更新的值。

可能是什么问题?

【问题讨论】:

  • 使用两个窗口;窗口 1 未提交。窗口 2 看不到窗口 1 的未提交结果?而窗口 1 可以。
  • 实际上..在所有窗口中显示结果。
  • 您是否在应用程序/TopLink 之外进行更新?根据您的设置,这可能会导致缓存问题。
  • 我尝试了两种方法,1 尝试使用 toplink 和其他方法通过在 DB 中手动更新值来测试。两种方式我都得到相同的结果。
  • 你更新的怎么样了?您是否在服务器上尝试过插入或更新语句?

标签: mysql glassfish sql-update toplink-essentials


【解决方案1】:

我可以通过更新Persistence.xml 来解决这个问题,它允许禁用由 toplink 完成的任何类型的缓存。

<properties>
    <property name="toplink.cache.shared.default" value="false"/>
</properties>

参考链接http://docs.oracle.com/cd/B31017_01/web.1013/b28221/cfgdepds005.htm#TopLinkCaching

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多