Java 休眠持久化父对象或子对象

Java 休眠持久化父对象或子对象,java,hibernate,orm,mapping,Java,Hibernate,Orm,Mapping,我想在“Foo”对象的“Bar”列表中添加一个“Bar”对象。因此,我创建了“Bar”对象,将“foo”变量设置为父对象,并将该对象添加到“Bar”列表中。现在我的问题是:我是坚持使用“Foo”还是“Bar”对象。如果我只添加一个对象,这两种方法都有效。如果将多个“Bar”对象添加到“Foo”对象中,则会出现错误:“行被另一个事务更新或删除(或者未保存的值映射不正确)” 所以我认为正确的方法是,持久化“Bar”对象。但是如果我这样做->我就不能更新我的“numberbar”-变量 有什么建议吗,

我想在“Foo”对象的“Bar”列表中添加一个“Bar”对象。因此,我创建了“Bar”对象,将“foo”变量设置为父对象,并将该对象添加到“Bar”列表中。现在我的问题是:我是坚持使用“Foo”还是“Bar”对象。如果我只添加一个对象,这两种方法都有效。如果将多个“Bar”对象添加到“Foo”对象中,则会出现错误:“行被另一个事务更新或删除(或者未保存的值映射不正确)”

所以我认为正确的方法是,持久化“Bar”对象。但是如果我这样做->我就不能更新我的“numberbar”-变量

有什么建议吗,保存对象并更新“numberBars”-变量的最佳方法是什么

public Foo {
  @OneToMany(cascade = CascadeType.ALL)
  private List<Bar> bars;
  int numberBars;

}

public Bar {
  @ManyToOne
  @JoinColumn
  private Foo foo;

}
publicfoo{
@OneToMany(级联=级联类型.ALL)
私人酒吧名单;
整数;
}
公共酒吧{
@许多酮
@连接柱
私人富福;
}

为什么有一个
numberBars
变量?出于性能原因,您可以随时使用
bars.size()
SELECT COUNT(*)…
。来获得该值。请看stackoverflow起始页。有很多问题。如果你必须为每一条加载评论,我认为这对性能有很大影响?只显示一个字段要有效得多