我有一些需要在保存时添加额外逻辑的实体类型(准确地说,我想在保存时保存位置)。我不想使用任何特定于数据库的功能(例如触发器),因为我不确定将来会使用什么数据存储。
因此,我想覆盖save()方法。
在Spring Data JPA文档中,我可以看到两种提供自己实现的存储库类的方式:
1. 扩展基本存储库类并告诉Spring Data使用它。 2. 定义一个接口(在我的情况下,我假设是PositionedRepository)和一个实现类(PositionedRepositoryImpl)。
第一种方法的问题是 - 我不想为所有存储库实现它,只有两种实体类型是定位的。
第二种方式的问题是 - 我无法访问基本存储库方法,因此除了位置计算之外,我还需要以某种方式构建所有查询,通常由基本存储库提供。
是否有一种方法可以仅针对特定存储库类型扩展基本存储库类?
因此,我想覆盖save()方法。
在Spring Data JPA文档中,我可以看到两种提供自己实现的存储库类的方式:
1. 扩展基本存储库类并告诉Spring Data使用它。 2. 定义一个接口(在我的情况下,我假设是PositionedRepository)和一个实现类(PositionedRepositoryImpl)。
第一种方法的问题是 - 我不想为所有存储库实现它,只有两种实体类型是定位的。
第二种方式的问题是 - 我无法访问基本存储库方法,因此除了位置计算之外,我还需要以某种方式构建所有查询,通常由基本存储库提供。
是否有一种方法可以仅针对特定存储库类型扩展基本存储库类?
EntityManager
不是最合适的名称,因为它在JPA中代表了一件非常具体的事情!为了保持通用性,使用PositionedService
会更清晰 :) - undefined