【发布时间】:2018-04-22 05:31:40
【问题描述】:
我需要知道是否有可能在 spring data rest 中使用一个 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> { }
只有这个存储库来管理图书馆和图书实体。
我尝试插入,到目前为止它运行良好。但此方法不支持其他操作。除了拥有两个 crud 存储库之外,还有其他方法吗?
【问题讨论】:
-
你不能。您需要为每个实体创建单独的 Repository 接口,因为每个特定的存储库都负责将其数据库数据转换为其相应的 java 对象。
-
您对哪些操作有疑问?除了添加其他地方建议的级联操作外,请参见此处:stackoverflow.com/questions/30464782/…
标签: java spring spring-data-jpa spring-data-rest