使用Spring Data JPA Repository修改参数值

时间:2016-06-30 17:57:06

标签: spring spring-data

我有一个带有自定义方法的Spring Data JPA存储库:

@Repository
public interface EntityRepository extends PagingAndSortingRepository<Entity, Long> {
    List<Entity> findByNameIgnoreCase(String name);
}

我想在调用方法之前以某种方式修改name(例如,转义%_,请参阅https://jira.spring.io/browse/DATAJPA-216)值。

我建议的解决方案是创建一个CustomString和一个Converter<CustomString, String>,其中包含所需的业务逻辑。但即使我将签名更改为findByNameIgnoreCase(CustomString name),也不会使用converter,而原始CustomString会传递给SimpleJpaRepository

如果不创建任何额外的Services并包裹repository来电,有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

在调用存储库方法之前,您是否只能转换字符串?

像这样的Smth:

entityRepository.findByNameIgnoreCase(transformNameIntoSomethingElse(name));