Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring数据支持RepositoryMetadata扩展吗?_Java_Spring_Spring Data_Spring Cloud - Fatal编程技术网

Java Spring数据支持RepositoryMetadata扩展吗?

Java Spring数据支持RepositoryMetadata扩展吗?,java,spring,spring-data,spring-cloud,Java,Spring,Spring Data,Spring Cloud,我正在向所有存储库(JPA模块)添加自定义行为,以添加我们自己的查询api/语法。我们希望将代码外部化,以便在运行时对其进行更改(目前,这些注释作为自定义注释添加到域类中) 示例: 通过设置动态角色/列安全矩阵实现数据安全(roleA可以访问,即只添加一部分行的筛选器,roleB有一些隐藏的敏感属性,…) 启用/禁用功能,以允许将代码预加载到prod或有限的卷展栏 重写模式名称(允许代码针对不同的测试工作指向不同的目标沙盒表) 在我的Repository Impl类中,我可以阅读此配置并将其

我正在向所有存储库(JPA模块)添加自定义行为,以添加我们自己的查询api/语法。我们希望将代码外部化,以便在运行时对其进行更改(目前,这些注释作为自定义注释添加到域类中)

示例:

  • 通过设置动态角色/列安全矩阵实现数据安全(roleA可以访问,即只添加一部分行的筛选器,roleB有一些隐藏的敏感属性,…)

  • 启用/禁用功能,以允许将代码预加载到prod或有限的卷展栏

  • 重写模式名称(允许代码针对不同的测试工作指向不同的目标沙盒表)

在我的Repository Impl类中,我可以阅读此配置并将其存储为属性,但我想知道扩展Spring Data domain类元数据(我认为这是RepositoryMetadata类)是否更有意义(如果支持的话)

谢谢
Mark

我认为有几个类和方法是您想要查看的:

  • RepositoryFactorySupport.getRepositoryInformation(…)
  • JpaRepositoryFactory.getEntityInformation(…)
    如果要挂接实体元数据。这就是存储库实现要处理的内容
我认为后者是你最感兴趣的。例如,MongoDB模块对其进行定制,以允许
@Document
注释的属性
collectionName
中的Spring Expression language动态计算每次商店交互时要与之交互的集合


不过,我不确定这对JPA有多好,因为您似乎想要更改一些并非真正在Spring数据控制之下,而是由持久性提供程序评估的内容。例如,要切换模式,您可能希望处理
数据源
定义、不同的表映射,您需要在持久性提供程序级别进行自定义等。

您是否介意重新阅读然后重新编写您的问题?我正在处理Spring数据,完全不明白您的要求。你说的是哪一个商店模块?很抱歉合并了,希望这样更好。如果没有,也许您可以说明RepositoryMetadata类的角色和可见性—它是否可以像存储库一样进行自定义以添加其他行为/功能。谢谢。我正在研究mongo实现以获得更深入的理解。我会试着把一些材料发回给未来的求知者。