Cześć, mam problem z hibernate kod poniżej.
Author.java
@JoinColumn(name = "book")
@ManyToOne
private Book book;
Book.java
@OneToMany( mappedBy="book", cascade=CascadeType.ALL, fetch = FetchType.EAGER)
private Collection<Author> authors = new ArrayList<>();
Gdy próbuje zapisać obiekt kasy Book do bazy leci zapytanie : Hibernate: insert into Author (book, firstName, lastName) values (?, ?, ?).
Problem jest taki, że w bazie danych nie chce zapisywać listy autorów dla książki i nie leci przy tym żaden błąd (zapisuje się wszystko oprócz listy).
Kod do zapisu:
public static void addBook(String title, String releaseDate,
String releaseNumber, List<Author> authors) {
Session session = HibernateUtils.getSessionFactory().openSession();
Transaction transaction = session.beginTransaction();
Book book = new Book();
book.setTitle(title);
book.setReleaseDate(releaseDate);
book.setReleaseNumber(releaseNumber);
authors = new ArrayList<>();
authors.add(new Author("aaa", "bbb"));
book.setAuthors(authors);
session.saveOrUpdate(book);
transaction.commit();
session.close();
}
Wiem, że kiedyś zmagałem się z tym x godzin i okazała się jakaś bzdura, ale tam miałem Springa do pomocy, tu muszę mieć tylko czysty Hibernate.
Pozdrawiam.