是的,允许JPA在事务提交之前与数据库进行通信。它可能发生,即当您显式调用时
EntityManager#flush()。
而且,只要有必要,JPA提供者就可以执行刷新操作。但是,为方便起见,JPA提供程序将数据库操作延迟到将提交事务的时间。
一些自动ID生成器策略必须访问数据库以获取PK值(据我所知,该
IDENTITY策略以这种方式起作用)。
相反,
TABLEor
SEQUENCE生成器不必点击数据库即可获取ID值。他们使用的
allocationSize参数要求的数据库表或序列的一个
批次 的ID将被赋予新的实体,而不与数据库进行进一步的沟通。



