Spring Data JPA: 没有继承JpaRepository的命名方法

3
我希望有一个只包含一个方法的接口,该方法为:
boolean existsByStrAndStatus(String str, Character status);

我希望您能够像命名方法一样使用它,并且使其正常工作。然而,我看到的所有示例都继承自JpaRepository,但我不想从这个接口继承,因为我编写的任何实现(用于测试目的)也需要继承JpaRepository提供的所有内置便捷方法,例如findAllflush等。我知道有模拟框架,但我正在寻找一种解决方案,不涉及使用 Mockito 等框架。
是否有替代 JpaRepository 的方法,既可以按照需要进行@Autowire,但如果需要编写实现,则只需要实现自己的方法?

所以,您想在测试中放置存储库的自定义实现,并且仅模拟(由您自己)一个方法? - ByeBye
@ByeBye,没错,在这种特定情况下是这样的。 - kinbiko
为什么你不能创建自己的Mock - RepositoryImpl实现Repository,然后实现你的方法并将其余部分留空而不进行实现。 - ByeBye
@ByeBye 我想 Repository 就是我一直在找的。现在大声朗读出来,感觉有点傻。谢谢。 - kinbiko
1个回答

1
我认为您应该创建自定义接口实现:
class TestRepository implements Repository

这将只实现您的自定义方法,其余部分保持未实现状态。然后您可以在测试中使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接