Answers:
在上saveAndFlush,此命令将立即将更改刷新到DB。使用save,不一定是正确的,它可能只保留在内存中,直到flush或commit发出命令。
但是请注意,即使您刷新了事务中的更改并且不提交它们,这些更改对于外部事务仍然是不可见的,直到对该事务中的提交为止。
在您的情况下,您可能使用某种事务处理机制,commit如果一切正常,它将为您发出命令。
根据您使用的休眠刷新模式(AUTO默认设置),save可能会或可能不会立即将更改直接写入数据库。调用时,saveAndFlush您将强制模型状态与数据库同步。
如果您使用冲洗模式AUTO,并且正在使用应用程序先保存然后再次选择数据,则您save()和两者之间的行为不会有差异,saveAndFlush()因为选择首先触发冲洗。请参阅文档。
save又是一个实体,那么您的意思save是第二个命令不会抛出重复异常。例如?