【发布时间】:2021-01-15 22:39:20
【问题描述】:
我知道如何在纯 Hibernate 中使用 @ManyToMany 关系来持久化实体。但是如何在 Spring 中正确地做到这一点呢?
在休眠状态下:
EntityManager em = getEntityManager();
em.getTransaction.begin();
Book book = new Book("title", "isbn");
Category category = new Category("horror");
category.addBook(book);
em.persist(book);
em.getTransaction().commit();
em.getTransaction().close();
类似的东西。但是 Spring 呢,假设我有 @Service 从 @RestController 接收 Book 或 BookDto。
public void saveBook(Book book) {
//what now
}
我应该在这里做什么,bookRepository.save(book); 是否足以保存这个 @ManyToMany 关系?我不需要 addBook、addCategory、removeBook 等其他方法吗?
提前谢谢你。
【问题讨论】:
-
试试@ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
标签: java spring hibernate jpa spring-data