我有实体关系
@Entity Foo
//showing only mapping
@ManyToMany(cascade = {CascadeType.MERGE})
@JoinTable(name = "foo_bars",
joinColumns = @JoinColumn(name = "foos_id"),
inverseJoinColumns = @JoinColumn(name = "bars_id"))
private List<Bar> bars;
和@Entity Bar是
//showing only mapping
@ManyToMany(mappedBy = "bars", cascade = {CascadeType.MERGE})
private List<Foo> foos;
用一个/多个Bar保存一个Foo我有一个服务方法
public void saveBar(Foo foo) {
logger.info("calling saveBar method");
barRepository.save(foo.getBars());
}
public void save(Foo foo) {
fooRepository.save(obj);
saveBar(obj);
}
数据保存成功,但是当我需要更新Foo并添加/删除Bars时,事情会变得复杂,我有更新的服务方法
public void update(Foo foo) {
fooRepository.update(foo.getId(), foo.getTitle());
saveBar(foo);
}
更新方法确实更新了Foo,但没有更新相关的条形图,foo包含与新创建时相同的条形图。
我在那里犯的任何错误?