Cześć, początkujący Java dev wita społeczność. Jest to mój pierwszy post, chociaż forum wcześniej odwiedzałem. Buduję prostą appkę, która ma mi na stronie www wyświetlić listę książek wraz z autorami, a na drugiej podstronie ma być możliwość dodawania tych książek do bazy mysql. Mam 2 encje - Book i Author których pola chcę połączyć z formularzem na stronie www. Mimo wielu prób nie potrafię wywołać w formularzu thymeleaf pól Book.authors.forename i Book.authors.surname.
Book.java

@Entity
public class Book {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String title;
    private String isbn;

    @ManyToMany(cascade = CascadeType.ALL) // to save author's data when adding book to db
    @JsonIgnoreProperties("books")
    @JoinTable(name = "author_book", joinColumns = @JoinColumn(name = "book_id"),
            inverseJoinColumns = @JoinColumn(name = "author_id"))
    private Set<Author> authors = new HashSet<>();

Author.java

@Entity
public class Author {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String forename;
    private String surname;

    @ManyToMany(mappedBy = "authors", cascade = CascadeType.ALL)
    @JsonIgnoreProperties("authors")
    private Set<Book> books = new HashSet<>();

BookController.java

(...)
@GetMapping("/book/add")
    public ModelAndView addGet() {
        ModelAndView m = new ModelAndView();
        m.addObject("book", new Book());
        m.setViewName("addBook");
        return m;
    }

    @PostMapping("/book/add")
    public ModelAndView addBook(Book book, BindingResult br) {
        ModelAndView m = new ModelAndView("redirect:/index");
        bookService.addBook(book);

        m.addObject("book", new Book());
        return m;
    }

addBook.html

<form th:action="@{/book/add}" th:object="${book}" th:method="post">

    <label for="author_name"> Author_Name </label>
    <input th:field="*{author}" id="author_name" type="text">

    <label for="author_surname"> Author_Surn </label>
    <input th:field="*{author}" id="author_surname" type="text">

    <label for="title"> Title </label>
    <input th:field="*{title}" id="title" type="text">

    <label for="isbn"> ISBN </label>
    <input th:field="*{isbn}" id="isbn" type="text">

    <button type="submit"> Add</button>
</form>

Kiedy próbuję robić th:each dla Author_Name i Author_Surn to nie wyświetla mi wtedy wcale tych dwóch pól formularza na stronie www. Szukałem odpowiedzi po sieci i znalazłem między innymi nested loops ale nie potrafię tego wpisać w kod addBook.html aby to działało. Co bym nie robił w tym pliku addBook.html to albo nie widzi tych Book.authors.forename i Book.authors.surname albo jak je widzi to ich nie wyświetla na stronie po uruchomieniu aplikacji. Zaczynam podejrzewać, że to może być coś z kontrolerem ale już mam taki mętlik w głowie, że szukam po prostu na siłę. Dzięki za wszelką pomoc i pozdrawiam.