我想在“Foo”对象的“bars”列表中添加一个“Bar”对象。所以我创建了“Bar”-对象,将“foo”-变量设置为父变量,并将对象添加到“bars”-list。现在我的问题是:我是坚持“Foo”还是“Bar”对象。如果我只添加一个对象,这两种方法都有效。如果我将多个“Bar”对象添加到“Foo”对象,我会收到错误消息:“行已被另一个事务更新或删除(或未保存的值映射不正确)”。
所以我认为正确的方法是坚持“Bar”对象。但如果我这样做 -> 我无法更新我的“numberBars”变量。
任何建议,持久化对象并更新“numberBars”变量的最佳方法是什么?
public Foo {
@OneToMany(cascade = CascadeType.ALL)
private List<Bar> bars;
int numberBars;
}
public Bar {
@ManyToOne
@JoinColumn
private Foo foo;
}