我很难弄清楚为什么我的应用程序会发生某些事情。使用 spring 和 Hibernate 和 struts2,我在调试过程中注意到了一些非常奇怪的东西。
我有一个用户表单,用户可以在其中编辑他的信息。当这个表单被提交时,控制器的save()
方法应该做一些事情并保存用户。
奇怪的是,在我在控制器中做任何事情之前,我想找到关于谁在做这个改变的信息。因此,我根据提交表单的人的 ID 从数据库中获取用户对象。但是当这个用户对象被获取时。然后自动提交表单中的用户......我像这样获取用户:
User createdByUser = (User) getHibernateTemplate().find("from User u where u.username=?", username).get(0);
因此,显然某些机制正在自动提交我的用户。大多数时候,我的 createdByUser 与提交的用户是同一个用户。有没有可能是休眠检测到这一点并以某种方式尝试同步数据库?