【问题标题】:Spring boot Data JDBC + Querydsl error " Reason: No property count found for type"Spring boot Data JDBC + Querydsl 错误“原因:找不到类型的属性计数”
【发布时间】:2021-01-23 15:07:04
【问题描述】:

我正在尝试在 Kotlin 中使用 Spring data JDBC 和 Query DSL。 这是我的仓库

@Repository
interface UserRepository : PagingAndSortingRepository<User, Int>, QuerydslPredicateExecutor<User> {}

我的实体是一个简单的数据对象

@Entity
@Table(name = "user")
data class User(
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "user_id_seq")
    @SequenceGenerator(name = "user_id_seq", sequenceName = "user_id_seq", allocationSize = 1)
    val id: Int? = null,
    val name: String,
    val surname: String)

我已将这些行添加到我的 build.gradle 中

implementation("com.querydsl:querydsl-sql-spring:4.4.0") {
        exclude group: 'joda-time', module: 'joda-time'
    }
kapt "com.querydsl:querydsl-apt:4.4.0:jpa"

我在我的 Spring 应用程序中添加了 @EnableJdbcrepositories 注释

但是当我尝试启动我的应用程序时,我收到了这个错误:

Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository' defined in my.tests.querydsl.repositories.UserRepository defined in @EnableJdbcRepositories declared on 
JdbcRepositoriesRegistrar.EnableJdbcRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract long org.springframework.data.querydsl.QuerydslPredicateExecutor.count(com.querydsl.core.types.Predicate)! Reason: No property count found for type User!

我也尝试删除 @EnableJdbcrepositories 注释,但错误仍然存​​在。 我做错了什么?我缺少一些依赖项?

谢谢

【问题讨论】:

    标签: spring-boot kotlin jdbc querydsl


    【解决方案1】:

    Infobip Spring Data Querydsl 为 Spring Data JDBC(除其他外)提供 QuerydslPredicateExecutor 片段支持。

    有了它,UserRepository 定义应该按照定义工作,查看模块 README.md JDBC section 了解详细信息。 如果您需要SQLQuery、SQLUpdateClause 或使用Predicate 支持删除,请不要错过QuerydslJdbcFragment。

    【讨论】:

      【解决方案2】:

      Spring-Data 的书说只有 Spring Data JPA 和 MongoDB 支持QuerydslPredicateExecutor

      【讨论】:

      猜你喜欢
      • 2020-11-21
      • 2022-08-10
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 2013-11-04
      相关资源
      最近更新 更多