我有一个实体,其中包含与其他实体的许多 OneToMany 关系。其中一个实体实际上是一个树结构(具有三个级别)。
当我更新我的对象(在 servlet 调用中)时,我会更新所有对象字段,包括树结构,但仅在根级别(第一级)。更新后,我会合并对象。
它工作正常,虽然有点慢。我设置 JPA 日志以查看正在执行的实际 sql 事务,并注意到树结构总是在数据库中完全重新生成(即删除和插入所有对象)。其他字段并非如此,即仅更新已更改的字段。就好像 eclipselink(我使用 eclipselink)每次都将树结构视为新的。
这是正常行为吗?我需要在合并之前扫描树并更新每个树节点吗?