我从这里https://www.baeldung.com/spring-data-rest-relationships下载了一个示例项目
然后我运行它并进行了一些测试REST调用。据我所知,您只能使用SDR从所有者方更新关联。我的意思是
public class Book {
@ManyToOne
@JoinColumn(name = "library_id")
private library library;
}
和
public class library {
@OneToMany(mappedBy = "library")
private List<Book> books;
}
您实际上无法对/ libraries / 1 / books进行发布/发布调用。服务器返回204,但对数据库没有任何影响。
但是,您可以对/ books / 1 / library进行post / put调用,一切都会按预期进行,包括使另一个实体保持同步。
这正常吗? @ManyToMany的行为也相同。有没有办法允许双方进行更新?如果我编写自己的API,我当然可以解决。 SDR为什么不这样做?