生命周期事件 prePersist 是否与 Persist 原子地播放
Is lifecycle event prePersist played atomically with Persist
我可以假设 prePesist 事件和 Persist 操作(与该事件相关)总是在一个原子操作中播放吗?
你可能不这么认为。持久化实体会触发 prePersist
事件,但实际插入会延迟到 flush
EntityManager
。这意味着在进程 #2 持久化实体之后但在执行 flush
之前,进程 #1 发出插入查询(即刷新 EntityManager
)的竞争条件可能存在。
我可以假设 prePesist 事件和 Persist 操作(与该事件相关)总是在一个原子操作中播放吗?
你可能不这么认为。持久化实体会触发 prePersist
事件,但实际插入会延迟到 flush
EntityManager
。这意味着在进程 #2 持久化实体之后但在执行 flush
之前,进程 #1 发出插入查询(即刷新 EntityManager
)的竞争条件可能存在。