根据应用于实体的特征将动态行为添加到Spring的JpaRepository

时间:2018-07-06 08:45:31

标签: spring-data-jpa spring-data traits

我有一个庞大的旧数据库,其中包含数百个表。其中一些包含一个共同的行为:一个子集将具有几个日期列,这些日期列定义一行的有效范围,另一些表将定义一个特殊的“已启用”标志列,另一个子集将具有标签功能(键+字符串值)。

这些表通过Spring-Data 2.0.8映射到Java。

从代码角度来看,将可以添加到实体(例如HasDateRange,HasEnableFlag或HasLabel)的“特征”让代码在这些抽象上起作用是有意义的。

例如,我想拥有一个特殊的存储库,该存储库扩展了JpaRepository接口,并向每个请求添加了有关startDate和endDate的谓词,以将范围限制为当前时间范围对今天有效的实体。

这些表通过Spring-Data 2.0.8映射到Java。

是否可以修饰关联的JPA存储库,以便对生成的查询进行“自动”修改以匹配特征?

0 个答案:

没有答案