尊重原创!!!

开发软件:myeclipse 10+oracle 11g

开发项目:租房系统

开发人员:1111

出现的问题:在前台发布房屋信息的界面插入数据时,自动跳转到查询所有房屋信息的页面,数据显示不完整,本表的可以显示,有外键的都显示不出来,(比如,街道(Street)信息是一个单独的表,在房屋信息表(House)里面引用的街道表的id,通过Street street=new Street(),street.getName()来获取街道名字),运行完之后也不报错,但是就是不显示!!!

直接上图可能更详细点;

问题分析:

这种问题还是第一次见,自己初步分析:

1.可能是前台通过jstl获取数据的时候,字段显示不对?

2.在servlet里面没有把街道信息放在request作用域里面?

3.没有提交(commit());

4.数据库里面可能就没有把街道信息添加进去!

问题分析完之后那就开始一个一个的检查,先看显示房屋信息的界面,验证分析1是否正确:

仔细检查之后发现排除分析1

继续在看分析2是否正确,

发现我都放进作用域里面了,并且一块转发到了显示的界面,有点纳闷了,这又是为啥呢?

既然分析二也排除掉,那就接着看分析3和分析4,她两一块看,先去数据库里面看看添加上来了没,数据库里面没有的话就是没有commit,然后我就在数据库里面查了一遍

卧槽,数据倒是进来了,但是为什么不显示呢?根据已有的思路都分析完了,还是不行咋整?灵机一动,去问问百度吧,也许能问出点啥来了!!

好,说走咱就走,问了下百度,百度和我说了一堆废话。。。。什么配置文件错误,映射文件有误......靠天靠地不如靠自己,使劲用脑子在想解决方法,继续分析:既然数据库里面都有数据,前台没有数据?前台页面的其他记录都是从数据库里获取的,不应该光这个获取不到啊,重启服务试试!!!

重启了下服务,上来前台页面看了下,.....显示出来了,数据都显示出来了,包括街道和房屋类型一个都没少

难道是我服务的事?于是乎,继续添加一条记录试试看。赶紧添加完之后跳转到显示所有的页面,奇诡的是其他的记录都有,就是新添加的这条记录没有显示出来。。。居然还是不行,既然还不行的话我就在DaoImpl里面把各个时期的值输出来看看是哪里没数据?

有数据,包括新添加的也在里面,那就去看看Servlet里面的数据看看有没有?

没办法,也有数据,继续在想哪里的原因,难道是hibernate缓冲的问题?(之前无意间看到hibernate的缓冲),那就按照缓冲来测试一下,先把session.close看看是否管用

执行的时候报错!session 是关闭的!!既然关闭了不行,那就试试flush(),与数据库同步数据看看会怎么样!

报错倒是不报错,但是白搭,还是和之前一样,那就在试试clear()看看怎么样,过了2分钟,测试完毕,还是一样居然,图就不上了!!!不能这样乱测试了,在静下来好好的分析一下哪里的问题!之前一直是在添加的DaoImpl里面测试session的clear()  flush()  close(),感觉不大对劲,既然是查询不出来,那就得在查询的方法里面清除session的缓冲,开始行动,我给添加的方法里面清空了一下session,用的是clear(),在查询的里面用的是flush(),感觉这样分析应该没问题,让查询的数据和数据库里面进行同步,就不信还不行?

于是抱着试试的态度进行测试了一下,居然可以显示出来了。解决了一晚上没有解决掉的bug,终于解决掉了!!!所以总结一下session的clear()和flush的区别:

最简单的理解就是:

session.flush()的作用就是将session的缓存中的数据与数据库同步。

session.clear()的作用就是清除session中的缓存数据。

还有不足的地方还请各位大神多多指点指点,本人的总结就这些了!!!

hibernate+oracle+servlet实现插入数据的时候,不立马显示!!相关推荐

  1. oracle中如何加字母,Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字...

    本文主要向大家介绍了Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle 语句中" ...

  2. 使用mybatis插入数据到数据库中,显示插入成功,且没有报错,但是数据库中并没有新插入的数据的原因

    使用mybatis插入数据到数据库中,显示插入成功,且没有报错,但是数据库中并没有数据的原因 没有提交事务,有时没有配置自动提交事务的设置,所以需要手动提交事务,即 sqlSession.commit ...

  3. mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法

    mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...

  4. oracle插入后查不到,Oracle表刚插入数据,但是在MyEclipse中却查不到(代码完全正确)...

    最近在做项目的时候发现了一个有趣的问题: 在plsqldeveloper中打开一个sql会话窗口,然后 插入一条数据(或者删.改操作),但是在MyEclipse中用代码却查询不到,而且数据已经插入进去 ...

  5. oracle有条件插入数据,Oracle有条件地插入数据

    方法一: declare iExists int; begin select count(*) into iExists from表 where 条件; if iExists=0 then inser ...

  6. Hibernate JPA中insert插入数据后自动执行select last_insert_id()解决方法

    本文出处:http://blog.csdn.net/chaijunkun/article/details/8647281,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...

  7. hibernate MySQL 无法正确插入数据

    摘自网上的一段解决办法. 原文:http://blog.163.com/me_wxx/blog/static/13519139120105152638477/ 下面是插入数据部分的程序: public ...

  8. oracle+mybatis批量插入数据

    1.Oracle批量操作 我的表结构是 1.1批量插入 1.1.1主键不使用序列 insert into students(sid,sname,ssal,ssex) select 9,'张三',300 ...

  9. oracle自增插入数据,oracle实现插入数据时主键自增

    在看ORACLE_PL/SQL实例精解的时候用到了student表,需要自己创建. 1  首先是建表语句 create table student ( student_id number(8) not ...

最新文章

  1. windows 生成 deploy key_推荐一个免费生成点线/方格/横线纸张的网站
  2. Ransomware CryptXXX Analysis
  3. Apsara Stack 技术百科 | 边缘场景智能云化,让云无处不在
  4. ElasticSearch破解x-pack 6.0+和更新许可证(License)
  5. 深入理解mybatis一级缓存
  6. html5制作网站谁的好处,HTML5网站对后期SEO工作有什么好处
  7. 一千啊计算机英语,计算机英语900句
  8. 全国计算机考试 二级 office pdf,全国计算机等级考试二级MSoffice讲义看看[整理].pdf...
  9. 读书:在别人的盯梢儿和嚼舌根中茁壮成长 | 杂谈
  10. Linux驱动的地址空间和硬件地址空间说明——摘自华清远见嵌入式园地 .
  11. 如何写好一个2Take1 Lua - 初步认识Lua
  12. 2016年安防上市公司年报披露情况
  13. 运营笔记:一个新公众号怎么吸粉?看看这位大神怎么做的!
  14. 网上作业批改系统的设计与实现(JSP,MySQL)
  15. 微信公众号(一) --- 开启微信公众号服务
  16. python表示分数_python分数怎么表示什么
  17. Gartner 2016数据仓库和数据分析数据库管理解决方案魔力象限
  18. WAF(Web Application Firewall)
  19. 我叫张强,somnus
  20. kankan including About CE

热门文章

  1. matlab gui 密码登录 论文,MATLAB GUI 密码输入
  2. sas sql中有类似mysql的 g_SAS中的SQL
  3. android webview卡顿检测_Android webview隐藏后跳转新页面input输入卡顿与白屏渲染慢的问题说明及修复方案...
  4. android仿支付宝弹窗,【转】MUI自定义底部弹窗自带遮罩层仿支付宝支付弹窗
  5. 7-5 两个有序链表序列的合并 (20 分)
  6. Linux下Java环境变量配置
  7. Nsight 调试 Caffe
  8. P4178 Tree
  9. [2021-09-09 T2] 就差⼀点——冒泡排序和反序表之间不为人知的秘密
  10. 模板:k短路(可并堆)