Jpa中保存实体类出错的问题

Zeongwan
  • 1
新手上路,请多包涵

我在一个循环里面,依次调用A、B、C三个类的service层,然后service层中调用对应的实体类的repository来保存的对应实体。在repository的类上加了@Transactional。
同时,我有一个定时器去关联三张表的查询,现在观察到的现象是,A、B、C依次保存,但是查询的时候出现查到了B没查到A的情况。
按理来说,我每个save都是单独的事务控制,依次调用,为啥会出现查的时候出现了B存了A没存?
大致代码如下:
业务层代码:

   for (int i = 0; i < nums; i++) { // nums是任意数字
       AService.save(Ai); // Ai表示A1、A2……
       BService.save(Bi);
       CService.save(Ci);
   }

Service层:

public class AService {
    public save(A a) {
        ARepository.save(A);
    }
}

Repository层:

@Repository
@Transactional
public interface ARepository {}

而且save方法是直接用的curdRepository的,也是有单独事务的,这是为啥呢?

回复
阅读 299
1 个回答

看下Spring事务传播行为

确认下这几个节点是一个事务吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏