问题描述
我的hibernate配置如下<propertyname="connection.url">jdbc:mysql://192.168.10.195:3306/radius?useUnicode=true&characterEncoding=UTF-8</property><propertyname="dialect">org.hibernate.dialect.MySQLDialect</property><propertyname="connection.username">root</property><propertyname="connection.password">123456</property><propertyname="connection.driver_class">com.mysql.jdbc.Driver</property><propertyname="show_sql">true</property>mysql的JDBC驱动是5.1.13连接后直接查询数据没有问题,但是如果我有另一个程序(第三方的程序)修改了数据库中的数据后,则无法刷新变更后的内容了。只有重新启动TOMCAT后才可以刷新出新的内容。请问如何解决?
解决方案
解决方案二:
先确认你另外一个程序修改的数据已经提交到数据库如果是那就是缓存的问题你把缓存关闭就行了
解决方案三:
你另外的那个程序事务提交了么
解决方案四:
你看看另外一个程序的数据库事务是否提交。
解决方案五:
这应该是事务没有提交的问题!你在action中做了操作,更新了数据,如果事务没有提交,数据库的内容是没有改变的!
解决方案六:
引用4楼liuc0317的回复:
这应该是事务没有提交的问题!你在action中做了操作,更新了数据,如果事务没有提交,数据库的内容是没有改变的!
可以看一下你另外的程序修改了数据后查询一下数据库数据是否改变
解决方案七:
你可以试着打印出一些信息,看看有没有执行到
解决方案八:
外部程序数据是提交的,这个没有问题。查询数据库中的数据已经更新了
解决方案九:
引用7楼appleiiappleii的回复:
外部程序数据是提交的,这个没有问题。查询数据库中的数据已经更新了
兄弟,关闭缓存吧。hib的缓存很蠢的,是感觉不到第3方程序导致的数据库变化的。
解决方案十:
我今天也遇见过这种事,我觉得确实是hibernate的连接池问题,我添加数据,结果hibernate的sql的打印出来了,但数据没取到,跟添加前一样,后来我改成tomcat的连接池就出现了我想要的结果
解决方案十一:
各位,回答的都不对。自己解决了。主要是数据库隔离级别与hibernate的配合。实在不清楚为什么没有人来回答。(网上有很多与我类似的问题)
解决方案十二:
真是悲哀,有满意结贴则返回50%,无满意则不返回,这不是鼓励大家满意结贴。无法体现出真正水平,误导看贴者