我正在使用Spring Boot构建多个项目,这些项目已连接到单个MySQL实例。所以我在交易中遇到了一些问题。
从一个Spring Boot实例中,当我正在更新一个表上的某些记录,并与另一个Spring Boot实例一起从同一表中检索其他记录时,它等待直到事务在第一个实例上完成,然后它将获取记录并返回它。
我想在表中有一些正在更新的记录时检索其他记录(而不是更新记录)。那么,什么是最好的解决方案?在MySQL和Spring Boot中,我还需要更改哪些配置?
答案 0 :(得分:0)
从多个项目访问单个Mysql实例是很常见的事情。只要您不获取已在事务中的资源,就不会阻塞您的事务。即正在更新。与查询触发时一样,MySQL将锁定该对象,直到事务完成。
您需要做的是通过 @Transactional 注释进行处理。在服务层的 javax.transaction.Transactional 包中,Spring Boot会自动对其进行处理。
应该可以!!