java-Spring数据其余部分通过一个Crud存储库管理所有实体
作者:互联网
我需要知道是否有可能在Spring数据其余部分中使用一个Crud存储库来管理多个实体.
范例:
图书馆实体
@Entity
public class Library {
@Id
@GeneratedValue
private long id;
@Column
private String name;
@OneToMany(mappedBy = "library")
private List<Book> books;
}
图书实体
@Entity
public class Book {
@Id
@GeneratedValue
private long id;
@Column(nullable=false)
private String title;
@ManyToOne
@JoinColumn(name="library_id")
private Library library;
}
我的要求是
public interface LibraryRepository extends CrudRepository<Library, Long> { }
只能使用此存储库来管理图书馆和图书实体.
我尝试插入,到目前为止效果很好.但是此方法不支持其他操作.还有什么其他方法,而不是有两个原始存储库来完成.
解决方法:
当然可以.只需像这样更正您的资料库:
@OneToMany(mappedBy = "library", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Book> books;
然后,您可以使用以下负载创建/更新您的图书馆及其书籍:
{
"name": "library1",
"books": [
{
"title": "book1"
},
{
"title": "book2"
}
]
}
Spring Data作者的代码example.
我的example.
标签:java,spring,spring-data-jpa,spring-data-rest 来源: https://codeday.me/bug/20191013/1909715.html