【发布时间】:2014-03-27 07:44:49
【问题描述】:
我有一个实体,其中一个字段 B 可能依赖于字段 A(仅适用于某些情况)。为了确保它们都在需要时更新(以避免使用实体的其他人忘记依赖关系)我尝试了这样的事情:
public void setA(A a) {
this.a = a;
if (condition) {
this.b = someCalculation(a);
// setB(someCalculation(a)); Doesn't work either!
}
}
代码被执行并且B的值被正确填充。但是,B 没有持久化。
这样的事情是不可能的吗?为什么hibernate不知道B的变化?
提前致谢,
亚历克斯
【问题讨论】:
-
您确定对象在所有更改后仍然存在吗?你能显示更多代码吗?顺便说一下这段代码有异味,我建议把这个逻辑从 setter 移到一些单独的方法/类
-
是的,因为字段 A 已正确持久化。
标签: java hibernate jakarta-ee jpa