首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动更改后的数据库记录恢复

手动更改后的数据库记录恢复
EN

Stack Overflow用户
提问于 2008-10-16 01:36:19
回答 6查看 1.2K关注 0票数 1

问题解决了:谢谢各位,请看下面的答案。

我有一个在Tomcat5.5中运行的网站,它使用MySQL5连接到一个Hibernate3数据库。

一个记录只是拒绝保留对其执行的任何更改。如果以编程方式更改记录,则这些值将恢复到以前的状态。

如果我手动修改数据库中的记录,值就会恢复(似乎一旦webapp访问了它们)。

我尝试过停止Tomcat并手动更改值,然后再次启动Tomcat。在检查数据库时,Tomcat启动webapp后,值将保持更改,但在加载站点后将再次恢复。

我还尝试删除webapp和.ser缓存文件的Tomcat工作文件夹。

我还检查了正在被还原到并且找不到的值的代码。

我只在这一张唱片上注意到了。

编辑:我刚刚看了一下使用hibernate.show_sql=true来自Hibernate的hibernate.show_sql=true输出。有一个记录了我的行所在的表的更新查询。有人知道如何解决这个问题吗?将列转换为实际值?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-10-16 02:33:20

您可以暂时启用mysql查询日志记录,并查看sql语句更改值的确切内容。因为您说它在服务器启动后立即发生变化,所以您应该能够非常快地找到该语句。

http://dev.mysql.com/doc/refman/5.0/en/query-log.html

票数 1
EN

Stack Overflow用户

发布于 2008-10-16 15:51:46

回答你的问题:

有人知道如何解决这个问题吗?将列转换为实际值?

您可以使用p6spy来完成这个任务。关于如何在Spring应用程序中设置这个程序的说明可以使用这里

但是,我认为这些说明中有一个错误,它们所称的p6spy.log文件实际上应该是名称p6spy.properties。

票数 1
EN

Stack Overflow用户

发布于 2008-10-16 01:45:52

万圣节快到了,所以你必须期待这样的事情(加上这只是一个满月),但我会继续在网络应用中寻找罪魁祸首.它必须在那里。我会立即在webapp源代码中搜索几个值:

  • 正在更改的记录的id。
  • 被写入记录的值。

祝你好运。这些都是真正的熊!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/207143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档