相关疑难解决方法(0)

在JPA/Hibernate中正确使用flush()

我正在收集有关flush()方法的信息,但我不清楚何时使用它以及如何正确使用它.根据我的阅读,我的理解是持久化上下文的内容将与数据库同步,即发出未完成的语句或刷新实体数据.

现在,我得到下列设想两个实体AB(在一比一的关系,而不是由JPA执行或模拟).A有一个复合PK,它是手动设置的,还有一个自动生成的IDENTITY字段recordId.这recordId应该B作为外键写入实体A.我正在保存AB进行单笔交易.问题是自动生成的价值A.recordId是不可用的事务中,除非我做的一个显式调用em.flush()打完电话后em.persist()A.(如果我有一个自动生成的IDENTITY PK,那么该值将在实体中直接更新,但这不是这里的情况.)

可以em.flush()在一个事务中使用时造成什么伤害?

java persistence hibernate jpa transactions

107
推荐指数
3
解决办法
15万
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1

persistence ×1

transactions ×1