Java Spring数据支持RepositoryMetadata扩展吗?
我正在向所有存储库(JPA模块)添加自定义行为,以添加我们自己的查询api/语法。我们希望将代码外部化,以便在运行时对其进行更改(目前,这些注释作为自定义注释添加到域类中) 示例:Java Spring数据支持RepositoryMetadata扩展吗?,java,spring,spring-data,spring-cloud,Java,Spring,Spring Data,Spring Cloud,我正在向所有存储库(JPA模块)添加自定义行为,以添加我们自己的查询api/语法。我们希望将代码外部化,以便在运行时对其进行更改(目前,这些注释作为自定义注释添加到域类中) 示例: 通过设置动态角色/列安全矩阵实现数据安全(roleA可以访问,即只添加一部分行的筛选器,roleB有一些隐藏的敏感属性,…) 启用/禁用功能,以允许将代码预加载到prod或有限的卷展栏 重写模式名称(允许代码针对不同的测试工作指向不同的目标沙盒表) 在我的Repository Impl类中,我可以阅读此配置并将其
- 通过设置动态角色/列安全矩阵实现数据安全(roleA可以访问,即只添加一部分行的筛选器,roleB有一些隐藏的敏感属性,…)
- 启用/禁用功能,以允许将代码预加载到prod或有限的卷展栏
- 重写模式名称(允许代码针对不同的测试工作指向不同的目标沙盒表)
Mark我认为有几个类和方法是您想要查看的:
RepositoryFactorySupport.getRepositoryInformation(…)
如果要挂接实体元数据。这就是存储库实现要处理的内容JpaRepositoryFactory.getEntityInformation(…)
@Document
注释的属性collectionName
中的Spring Expression language动态计算每次商店交互时要与之交互的集合
不过,我不确定这对JPA有多好,因为您似乎想要更改一些并非真正在Spring数据控制之下,而是由持久性提供程序评估的内容。例如,要切换模式,您可能希望处理
数据源
定义、不同的表映射,您需要在持久性提供程序级别进行自定义等。您是否介意重新阅读然后重新编写您的问题?我正在处理Spring数据,完全不明白您的要求。你说的是哪一个商店模块?很抱歉合并了,希望这样更好。如果没有,也许您可以说明RepositoryMetadata类的角色和可见性—它是否可以像存储库一样进行自定义以添加其他行为/功能。谢谢。我正在研究mongo实现以获得更深入的理解。我会试着把一些材料发回给未来的求知者。