Spring数据JDBC自定义查询参数转换器
我试图向Spring数据JDBC Crudepository添加一个自定义查询,以允许通过备用自然键查找实体。该实体有一个ID(在本例中为Long)和一个自然键(类型为Reference)(底层类型为UUID) 我已经创建并注册了从引用到UUID的自定义转换器,反之亦然,并且希望在通过引用查找实体时使用它们。转换在从数据库获取和存储实体时起作用(Postgres 12.2) 我无法做到的是定义一个通过引用查找实体的自定义方法 这与我的情况类似: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
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所做的工作☺️谢谢,我们尽力了