spring - 如何在服务类中隐藏Spring数据存储库功能?

标签 spring spring-data spring-data-jpa

我正在使用 Spring Data JPA 存储库,我的要求是当我在服务类中调用存储库类方法时,它应该只显示自定义方法,如 addUser(X,Y) 而不是 save()。

  • 我了解的很少,spring存储库的实现是由spring框架在运行时提供的,所以我们不能提供自己的实现。 (这会产生开销)。
  • JPARepository 中的所有方法都是公开的,因此显而易见,当我们实现此接口(interface)时,所有方法都将始终可见。
  • 我正在考虑同时使用 DAO 和 Repository。 DAO 将提供自定义函数签名,存储库将实现 DAO 接口(interface)。

有什么黑客吗?

最佳答案

如果您不需要 JpaRepositoryCrudRepository 中的方法,请不要扩展这些方法,只需扩展 Repository反而。拥有像这样的存储库界面是非常好的

MyVeryLimitedRepository extends Repository<User, Long> {
     User findByName(String name);
}

当然,像 addUser(X,Y) 这样的方法需要自定义实现。

关于spring - 如何在服务类中隐藏Spring数据存储库功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37247905/

相关文章:

java - 如何在 Spring MVC 中使用乐观锁

spring - 将 ParameterExpression 与 org.springframework.data.jpa.domain.Specification 一起使用时如何将参数传递给函数?

java - 使用 Java8 过滤两个列表

spring - 无法在 Spring Boot 应用程序中加载驱动程序类 : org. h2.Driver

java - 延迟初始化异常 : could not initialize proxy - no Session

java - 使用 MySql Springdata 和 Hibernate 的大写和小写问题

java - 创建一个 Spring Boot 可执行 jar 和一个常规库 jar

java - Spring框架中子文档数组字段中的过滤数组

java - 如何使用 spring-data-jpa 检索聚合函数查询

java - 如何使用分页和排序存储库进行多个参数搜索?