在有事务的操作中,我们调用xxDao.save(obj) 有的时候并没有去执行sql,如果这个时候调用了em.clear 就会把缓存中的obj干掉,提交事务的时候都不会去执行update的sql了,所以正确写法是先em.flush 在执行em.clear 在执行查询,保证查询到的一定是最新数据
在有事务的操作中,我们调用xxDao.save(obj) 有的时候并没有去执行sql,如果这个时候调用了em.clear 就会把缓存中的obj干掉,提交事务的时候都不会去执行update的sql了,所以正确写法是先em.flush 在执行em.clear 在执行查询,保证查询到的一定是最新数据