У меня проблема, и я не могу найти решение.У меня есть таблица Book и таблица Author, со многими отношениями.Таблица Book находится в схеме book, а таблица Author - в схеме person.Итак, у меня есть это:
book.book
people.author
Я сделал следующий код:
*** Entity Book ***
@ManyToMany(mappedBy = "book")
private List<Author> author = new ArrayList<>();
и
*** Entity Author ***
@ManyToMany
@JoinTable(schema = "join_tables", name = "book_author", joinColumns = @JoinColumn(name = "fk_author"), inverseJoinColumns = @JoinColumn(name = "fk_book"))
private List<Book> books = new ArrayList<>();
Я могу зарегистрировать книгу с несколькими авторами, один автор с несколькими книгами.Я могу вставить автора в уже зарегистрированную книгу.Вставьте книгу уже зарегистрированному автору.Но я не могу удалить отношения книги с автором.Что я пытался сделать:
@Repository
public interface AuthorRepository extends JpaRepository<Author, Long> {
@Query("DELETE FROM join_tables.book_author jtba WHERE jtba.fk_author = :fka AND jtba.fk_book = :fkb")
void deleteRelationshipBookAuthor(@Param("fka") Long fka, @Param("fkb") Long fkb);
}
And it always shows the same error:
org.hibernate.hql.internal.ast.QuerySyntaxException: join_tables.book_author is not mapped
Но таблица существует в базе данных и содержит все введенные мной данные.