在做一个用户注册的servlet时出现了一个问题,因为这个servlet要查询每次提交的用户id是否和数据库已有的ID重复,若重复则给出提示。
我在测试的时候先提交servlet注册了一个用户,又在navicat里删除了这条记录,然后刷新servlet提交注册信息 居然还提示重复 分析了一下应该就是hibernate消息没有即时同步的问题 我自己就想了一个笨办法:用hibernate修改数据库的时候都得使用事务 如果提交了一个修改数据的事务 那hibernate总该重新读取数据库的值吧 那么我就这样 在查询前提交一个事务 然后再查询 问题解决了!
session.beginTransaction();
session.getTransaction().commit();
//然后就可以查询了