我正在尝试使用带有QueryDSL 4.x版本的Spring Data JDBC扩展,但最新的Spring Data快照仍然将QueryDSL 3.x作为依赖项引用,这是一个问题,因为QueryDSL更改了包(删除mysema) 3.x到4.x.
有没有办法让这个spring数据扩展能够与QueryDSL 4.x一起使用,而不会通过为3.x添加所需的依赖项而导致两个querydsl版本之间发生潜在冲突?
我的spring数据jdbc ext依赖是:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-oracle</artifactId>
<version>1.2.0.BUILD-SNAPSHOT</version>
</dependency>
答案 0 :(得分:1)
可能你不能这样做。框架为您创建一个SqlQuery对象,因此您将收到一个版本为3.x的类型的对象,而您的程序需要在版本4.x中定义的类型。
我看到两个选项:
下载源代码并以此为基础,创建自己的实现,它只有7个类。但是你必须记住,当spring或querydsl版本被提升时,它可能会给你额外的开销
要求开发人员添加对querydsl 4.x的支持:) https://github.com/spring-projects/spring-data-jdbc-ext/issues
答案 1 :(得分:0)
Infobip Spring Data Querydsl JDBC module 为 Spring Data JDBC 模块存储库提供 QuerydslPredicateExecutor 支持。
它还添加了 QuerydslJdbcFragment,它公开 SQLQuery
、SQLUpdateClause
和带有 Predicate
功能的删除。