处理存储库方法的弹簧方式[重复]

Posted

技术标签:

【中文标题】处理存储库方法的弹簧方式[重复]【英文标题】:The spring way to handle repository methods [duplicate] 【发布时间】:2018-05-03 22:55:44 【问题描述】:

我正在尝试找出 Spring 的做事方式,因为我是该平台的新手。我有一个声明如下的存储库:

public interface ScreenshotRepository extends JpaRepository<Screenshot, UUID>

我有一些查询方法,但现在我想要另一种方法,而不仅仅是查询。该方法运行一个查询,如果找到一条记录,它会返回它,如果没有,它会使用一些默认参数创建它。这个方法应该去哪里?

我在文档中看到了custom repository implementations,但由于它们与实际的JpaRepository 不同,它们似乎无法访问数据库。

【问题讨论】:

【参考方案1】:

以弹簧方式执行此操作,您可以创建一个服务并在该服务中自动装配您的存储库,并在您的服务中创建您的自定义函数,同时使用您的存储库执行查询

@Service
public class ScreenshotService
    @Autowired
    private ScreenshotRepository screenshotRepository;


    public Boolean customMethod()
        screenshotRepository.sampleQuery()
        //blah blah...
    
.
.
.

【讨论】:

以上是关于处理存储库方法的弹簧方式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从自定义实现中引用“正常”弹簧数据存储库?

处理 cmake 重复的 git 子树

在使用弹簧数据存储库之前更改当前模式 - 多租户

如何测试从数据库读取并写入文件的弹簧批处理步骤?

处理本地存储库中旧快照的最佳方法?

测试弹簧批处理作业stepScope