我有以下的数据库,它允许用户在书店租书: 如何在建立强制关系时建立弹簧jpa /正确的资料库?
实体类书籍需要保存时,有一个类别以及BookDescription。
那些书类看起来是这样的:
@Entity
@Table(name = "books")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Book {
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "book_description_id")
private BookDescription bookDescription;
@ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
private Category category;
//omitted fields, getters, setters & other relations
}
我被检查出春的数据JPA。它有
CrudRepository<T, ID extends Serializable>
的签名,这意味着我将有
CrudRepository<Book, String>
,但我将如何节省一本书吗?因此,一般来说,用户将提交一个表单,我将绑定一个BookUIObject,它将包含保存图书所需的所有详细信息,并将其传递给一个BookService女巫将从其中提取3个对象:Book(一个特定的实现),类别和BookDescription。现在的问题是将服务挂钩了书的关系,并呼吁广大repository.save(书)或它会调用像repository.save(图书,类别,BookDescription)的方法?
而且,我应该直接从用户的数据绑定到实体类,或做就像我说的,绑定到一般BookUIObject,让服务从中提取的实体类?
亲切的问候,