Это нормально?
В некотором смысле, да. Именно так будет вести себя чистый JPA, когда вы добавляете Book
в коллекцию Library.books
с вашим текущим отображением - это ничего не изменит.
Я предполагаю, что Spring Data Rest не знает (или не заботится), какая сторона ассоциации является стороной владельца, и просто не делает лишнюю милю, чтобы убедиться, что обновление обратной стороны также работает,
Есть ли способ разрешить обновления с обеих сторон?
Обходной путь может быть , просто притворяясь, что обе стороны ассоциаций быливладеющая сторона, то есть:
public class Library {
@OneToMany
@JoinColumn(name = "library_id")
private List<Book> books;
}
Имейте в виду, что это делает Hibernate трактовать Library.books
и Book.library
как две совершенно разные ассоциации. В некоторых ключевых случаях ваши сущности могут вести себя не так, как вы ожидаете. Вы были предупреждены.