Spring数据JDBC自定义查询参数转换器

Spring数据JDBC自定义查询参数转换器,spring,type-conversion,spring-data,spring-data-jdbc,Spring,Type Conversion,Spring Data,Spring Data Jdbc,我试图向Spring数据JDBC Crudepository添加一个自定义查询,以允许通过备用自然键查找实体。该实体有一个ID(在本例中为Long)和一个自然键(类型为Reference)(底层类型为UUID) 我已经创建并注册了从引用到UUID的自定义转换器,反之亦然,并且希望在通过引用查找实体时使用它们。转换在从数据库获取和存储实体时起作用(Postgres 12.2) 我无法做到的是定义一个通过引用查找实体的自定义方法 这与我的情况类似: public interface OrderRep

我试图向Spring数据JDBC Crudepository添加一个自定义查询,以允许通过备用自然键查找实体。该实体有一个ID(在本例中为Long)和一个自然键(类型为Reference)(底层类型为UUID)

我已经创建并注册了从引用到UUID的自定义转换器,反之亦然,并且希望在通过引用查找实体时使用它们。转换在从数据库获取和存储实体时起作用(Postgres 12.2)

我无法做到的是定义一个通过引用查找实体的自定义方法

这与我的情况类似:

public interface OrderRepository implements CrudRepository<Order, Long> {

    @Query("select o from Order o where o.reference = :reference")
    Optional<Order> findByReference(@Param("reference") Order.Reference reference);
}
公共接口OrderRepository实现Crudepository{
@查询(“从订单o中选择o,其中o.reference=:reference”)
可选findByReference(@Param(“reference”)Order.reference);
}
可以这样做吗?我使用的是SpringDataJDBC的最新版本(1.1.6)。 我希望避免使用接受底层类型(本例中为UUID)的查询

如果使用自定义查询无法完成此操作,那么有哪些可用选项? 我曾经考虑过可能使用MyBatis和Spring数据JDBC?

这是一个,它是用2.0 M3实现的,它是。请试一试

注:2.0 M3引入了
方言
,但正确的自动检测仅随2.0 RC1`一起提供,该版本将于2020-03-31发布。您可以等待它来为您省去一些麻烦

这是一个,它是用2.0 M3实现的,它是。请试一试


注:2.0 M3引入了
方言
,但正确的自动检测仅随2.0 RC1`一起提供,该版本将于2020-03-31发布。您可以等一下,省去一些麻烦

谢谢您的回答,我喜欢您使用数据JDBC所做的工作☺️谢谢,我们尽力了谢谢你的回答,我喜欢你对数据JDBC所做的工作☺️谢谢,我们尽力了