#jpa #mapping #hibernate-mapping #cascade
Вопрос:
в настоящее время я изучаю hibernet jpa, и сегодня я сталкиваюсь с одной проблемой, изучая отношения «многие ко многим».
Отношение «многие ко многим» создает новую таблицу ,такую как book_author здесь, но мне не нужно сохранять данные в этой таблице .
когда я пытаюсь использовать каскад.Все ,это только сохраняет данные в книге ,таблице авторов, но ничего не сохраняет в таблице book_author .
** Как я сохраняю данные в таблице book_author любое предложение ? я пытаюсь искать в Google, но не нашел правильного способа **
package com.example.entity;
@Entity
@Table(name = "book")
public class Book {
@Id
private String isbn;
@Column(nullable = false)
private String title;
@ManyToMany(mappedBy = "book", cascade = {CascadeType.PERSIST, CascadeType.MERGE},fetch = FetchType.EAGER)
private List<Author> authors;
@Column(nullable = false)
private String category;
@Column(nullable = false)
private double price;
@Column(nullable = false)
private LocalDateTime date;
}
this my Repository
package com.example.entity;
@Repository
@Transactional
public abstract class BookRepo implements CrudRepository<Book,String> {
}
this is my controller
@Post("/add")
public HttpResponse<?> fun(@Body Book book){
System.out.println(book);
bookRepo.save(book);
return HttpResponse.status(HttpStatus.ACCEPTED).body("data add successfully");
}
data which i am sending through client side
{
"isbn":"1234567",
"title":"welcome",
"category":"A",
"price":1234.5,
"authors":[
{
"id":3,
"first_name":"welcome",
"last_name":"back"
},
{
"id":4,
"first_name":"good",
"last_name":"morning"
}
]
}