我有一个自定义的存储库,如下所示(用 Kotlin 编写):
interface FooRepository : JpaRepository<Foo, Int> {
fun findByFoo(foo: String): List<Foo>
fun findByBar(bar: String): List<Foo> {
//custom implementation
}
}
data class Foo(var id: Int, var foo: String, var bar: String)
两种方法都符合JPA存储库的命名约定,但我想自己实现第二种方法(
FooRepository.findByBar
)。如何防止JPA为其创建查询?请注意,我的自定义实现涉及计算逻辑,因此允许自定义查询的@Query
注释不符合我的要求。此外,在实际情况中,这是必要且合理的,因此,如果您试图提出“更好”的设计模式,如将实现放置在服务层中等,请不要发表您的答案或评论。
searchByBar
或fetchByBar
,而不是findByBar
。 - Nikolai Shevchenko