我正在使用 Spring Data JPA 存储库,我的要求是当我在服务类中调用存储库类方法时,它应该只显示自定义方法,如 addUser(X,Y) 而不是 save()。
- 我了解的很少,spring存储库的实现是由spring框架在运行时提供的,所以我们不能提供自己的实现。 (这会产生开销)。
- JPARepository 中的所有方法都是公开的,因此显而易见,当我们实现此接口(interface)时,所有方法都将始终可见。
- 我正在考虑同时使用 DAO 和 Repository。 DAO 将提供自定义函数签名,存储库将实现 DAO 接口(interface)。
有什么黑客吗?
最佳答案
如果您不需要 JpaRepository
或 CrudRepository
中的方法,请不要扩展这些方法,只需扩展 Repository
反而。拥有像这样的存储库界面是非常好的
MyVeryLimitedRepository extends Repository<User, Long> {
User findByName(String name);
}
当然,像 addUser(X,Y)
这样的方法需要自定义实现。
关于spring - 如何在服务类中隐藏Spring数据存储库功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37247905/