主题:beetlSql二级缓存问题

haozx 2019年12月24日 60

beetlSql有类似于jpa的entityManager.flush();这样的刷新二级缓存的方法吗?

flush ():同步持久上下文环境,即将持久上下文环境的所有未保存实体的状态信息保存到数据库中。

实际问题:我想实现,在一个事务里,第一步先调用了一个delete语句删除了一些数据,事务没提交,然后又调用了一个多表关联查询SQL。后续的查询SQL会查询出我第一步删除的数据。

之前用jpa时,时在删除后调用entityManager.flush()方法刷新缓存。这样保证了事务没提交前提下,后续的查询还查询不出来。

闲大赋 2019年12月24日

是jpa才有的问题,beetlsql每一步操作都会发到数据库去执行,不同于jpa

haozx 2019年12月24日

就同一事务里先插入后查询的问题。我程序验证了一下。确实不存在jpa那种需要flush刷新缓存的问题。