我正在尝试理解上面描述的Jpa自定义存储库背后的逻辑。
我的猜测是我必须创建 UserRepository 界面(在我的情况下用户是特定实体),扩展 MyRepository 界面,然后使用适当的参数类型为其提供实现。然后,每个实体都有一个存储库,每个存储库共享 MyRepository 接口中定义的许多常用方法。
这引出了一些问题:
一:如果我在多个实体上执行操作怎么办?我使用哪个存储库? 二: Spring Data Jpa是否允许没有任何类型参数的存储库?
答案 0 :(得分:3)
如果我跨多个实体执行操作:我使用哪个存储库?
spring-data-jpa会导致“ DAO per entity ”方法(不一定是最好的方法)。如果您需要跨多个实体执行操作,请使用服务层。
Spring Data Jpa是否允许没有任何类型参数的存储库?
不,你能为此建议一些用例吗?每个DAO应为一个实体提供强大的,类型安全的接口。如果你需要更灵活的DAO,也许你应该在JPA中探索继承?