Spring @hibernate会话刷新的事务(readonly=true)行为

Spring @hibernate会话刷新的事务(readonly=true)行为,spring,spring-data-jpa,spring-transactions,Spring,Spring Data Jpa,Spring Transactions,我们有下面这样的课 @Transactional(readOnly=true) public class AService { @PersistenceContext private EntityManager em; @Autowired private ARepository arepo; public void saveA(A a) { arepo.save(a); } public void saveandFlushA(A a) { a

我们有下面这样的课

@Transactional(readOnly=true)
public class AService {

  @PersistenceContext
  private EntityManager em;

  @Autowired
  private ARepository arepo;

  public void saveA(A a) {
    arepo.save(a);
  }

  public void saveandFlushA(A a) {
    arepo.save(a);
    entityManager.unwrap(Session.class).flush();
  }
}
我们使用的是postgres+jpa hibernate+spring事务管理,当我们调用save(a)方法时,它不会导致save提交,这是正常行为,因为我的事务设置为readonly=true,但当我调用saveandFlushA(a)时导致insert语句被激发并提交,但我希望它不会提交

Spring事务文档显示只读标志设置读/写与只读事务

我不明白为什么即使是只读事务也会提交数据?任何见解都将受到极大欢迎