在 JPA 事务中调用 saveAndFlush

Calling saveAndFlush within a JPA Transaction

我有一个使用 JPA 'save' 在事务中保存数据的应用程序。第二个应用程序在收到来自第一个应用程序的消息时异步访问此数据。但是,根据时间的不同,由于主事务尚未完成(或延迟),第二个应用程序有时无法访问数据。我正在考虑将 'save' 更改为 'saveAndFlush'。这会确保同时保存对象吗? 'saveAndFlush' 保存的对象是否会在事务失败时回滚?

使用 saveAndFlush 保留的对象将被回滚,但这不会解决您的实际问题,因为在提交事务之前,第二个应用程序的请求不会看到更改。