控制台中已打印查询sql,抓出来到mysql客户端查询明明有纪录.数据时通过hibernate插进去的.
配置文件没有问题.
tomcat重启,查询就有结果了..
我的测试步骤是从客户端发两个请求到一个路径,Debug模式,
代码首行加断点.
第一个线程首先查询没有结果,正常因为没有数据,插入一条新的纪录.
第二个线程也是首先要查询,但此时却查不出结果,数据库中已经有了,查询的sql语句都打出来了..
请大神指教.
------解决思路----------------------
说了这么多,其实最重要的代码没有贴出来。
------解决思路----------------------
有没有可能:第二个线程执行的时候,第一个线程执行的插入操作还没有提交事务,所以你重启tomcat,就能查出来了。
------解决思路----------------------
线程,哪个执行在前,执行到哪一步了,你也不知道。所以上楼所说的有道理,当你查询时,你可能还没插入。
------解决思路----------------------
同意这种观点
------解决思路----------------------
为什么要用2个线程?反正第二个线程必须等待第一个执行完才能执行,和一个线程效果一样。所以用一个线程不就行了,这样还不用考虑线程等待。
------解决思路----------------------
第一个线程加flag,执行完后commit,把flag=true,第二个线程先判断flag==true再查询
------解决思路----------------------
顺序执行的还要多线程完成干嘛。。

------解决思路----------------------
+1
------解决思路----------------------
+1
------解决思路----------------------
学习!