Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 在@PrePersist中更改父实体不保存更改_Jpa_Eclipselink - Fatal编程技术网

Jpa 在@PrePersist中更改父实体不保存更改

Jpa 在@PrePersist中更改父实体不保存更改,jpa,eclipselink,Jpa,Eclipselink,我有两个实体: 父母亲 (id、姓名、最后一个子女号码) 及 孩子(身份证号码) 当我将一个子项添加到父项的子项列表中时,子项将获得新的数字,父项实体属性lastNumberOfChild将递增1。我希望在执行entityManager.merge(父级)时,在刷新之前(在整个情况下这很重要)发生这种情况。 我已经尝试在子实体上使用@PrePersist注释来实现这一点。它只在半小时内起作用。 该属性已由@PrePersist方法更改,但此后未保存到数据库 你有没有想过我怎样才能做到这一点 谢谢

我有两个实体: 父母亲 (id、姓名、最后一个子女号码) 及 孩子(身份证号码)

当我将一个子项添加到父项的子项列表中时,子项将获得新的数字,父项实体属性lastNumberOfChild将递增1。我希望在执行entityManager.merge(父级)时,在刷新之前(在整个情况下这很重要)发生这种情况。 我已经尝试在子实体上使用@PrePersist注释来实现这一点。它只在半小时内起作用。 该属性已由@PrePersist方法更改,但此后未保存到数据库

你有没有想过我怎样才能做到这一点


谢谢你的每一个想法

我发现在@PrePersist中你不能修改父实体(原因是优化)。所以我必须在执行merge(entity)之前修改所有的实体。

这很奇怪,我希望它能在prePersist中找到,您使用的是什么版本?您使用的是字段访问还是属性访问?我发现在@PrePersist中无法修改父实体(原因是优化)。所以我必须在执行merge(entity)之前修改所有实体。(我正在使用eclipselink 2.3.2,属性访问)。