示例sql:
@Transactional
public RebateContract getInfo(RebateContract contract) {
RebateContract rebContractInfo = rebateContractDao.getInfo(contract);
logger.info("agentId:" + rebContractInfo.getAgentId());
rebContractInfo.setAgentId(10000L);
// 不会再查询 而是从缓存中获取rebContractInfo的值
RebateContract rebContractInfo1 = rebateContractDao.getInfo(contract);
logger.info("agentId1:" + rebContractInfo1.getAgentId());
return rebContractInfo1;
}
执行结果:
注意:必须同一个事物中
同一个事务中查询一次后,直接修复查询后结果,再次相同sql查询,实际不会再查询,而是从缓存中获取上次的查询结果。
但上次查询结果已经被修改,所以后面查询获取到的值已与实际查询该获取的值不一样了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。