我们知道,spring-data-jpa支持基于函数名生成查询的存储库,即(kotlin):
@Repository
interface LocationRepository : JpaRepository<DbLocation, UUID>,
JpaSpecificationExecutor<DbLocation>{
fun findOneByNameIgnoringCase(name: String)
}
现在,postgres支持一些自定义运算符,例如timerange'@&gt;' timestamp(读取:timerange包含时间戳)。
我希望有这样的功能,而不需要使用本机查询/规范:
@Repository
interface LocationRepository : JpaRepository<DbLocation, UUID>,
JpaSpecificationExecutor<DbLocation>{
fun findOneBySomeFieldContainsTimestamp(something: Instant)
}
有没有办法扩展spring数据jpa以支持新的运算符?
提前致谢。
答案 0 :(得分:0)
有没有办法扩展Spring Data JPA以支持新的运营商?
不是。
当然,从技术上讲,答案是是,因为Spring Data是开源的,你可以分叉。一个好的起点是JpaQueryCreator.build()
,它包含所有支持的运算符的switch语句。