【发布时间】:2018-07-27 10:36:42
【问题描述】:
我有一些实体类型需要额外的保存逻辑(准确地说,我想在保存时保存位置)。我不想使用任何特定于数据库的功能,例如触发器,因为我不确定将来使用的数据存储是什么。
所以我想重写save() 方法。
在 Spring Data JPA 文档中,我可以看到为存储库类提供自己的实现的两种方式:
- 扩展基础存储库类并告诉 Spring Data 使用它。
- 使用实现类 (
PositionedRepositoryImpl) 定义接口(在我的情况下,我假设为PositionedRepository)。
第一种方式的问题 - 我不想为所有存储库实现它,只定位两种实体类型。
第二种方式的问题 - 我无法访问基本存储库方法,因此除了位置计算之外,我还需要以某种方式构建所有查询,这些查询通常由基本存储库提供。
有什么方法可以为特定的存储库类型扩展基础存储库类?
【问题讨论】:
标签: java spring hibernate spring-data-jpa