事务回滚,如何解决未插入成功数据,也能查出来的异常结果?

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图

用了

 @Transactional(rollbackFor = Exception.class)

有异常,就不把数据添加进表里。但是发现即使没存在数据库里,查出来的时候还是有这条数据。

运行结果及报错内容

这是控制台的结果

==>  Preparing: select IFNULL(SUM(buy_num),0.00) FROM o_pick_detail WHERE commodityid = ? AND pick_id in(select pick_id from o_pick where p_id= ?)
==> Parameters: 4(Long), 3(Long)
<==    Columns: IFNULL(SUM(buy_num),0.00)
<==        Row: 1.00
<==      Total: 1

这是数据库的结果

select IFNULL(SUM(buy_num),0.00) FROM o_pick_detail WHERE commodityid = 4 AND pick_id in(select pick_id from o_pick where p_id = 3)

img

你都查到sum是个null了,怎么还说能查到
你自己写如果是null就修改成0,自己把自己搞迷糊了是吗

控制台打印的row是你的结果行数,并不是你的结果