【发布时间】:2021-01-01 10:32:53
【问题描述】:
我正在尝试将 Spring Data JDBC 与 Kotlin 数据类一起使用,在将 @Transient 属性添加到主构造函数后,我在简单的 findById 调用中收到错误:
java.lang.IllegalStateException: Required property transient not found for class mitasov.test_spring_data_with_kotlin.Entity!
我的实体类如下所示:
data class Entity(
@Id
var id: String,
var entityName: String,
@Transient
var transient: List<TransientEntity>? = mutableListOf(),
)
阅读that issue 后,我尝试在没有@Transient 字段的情况下制作@PersistenseConstructor:
data class Entity(
@Id
var id: String,
var entityName: String,
@Transient
var transient: List<TransientEntity>? = mutableListOf(),
) {
@PersistenceConstructor
constructor(
id: String,
entityName: String,
) : this(id, entityName, mutableListOf())
}
但这对我没有帮助,我仍然遇到这个错误。
我该如何解决这个问题?
【问题讨论】:
-
我个人建议使用 Java 而不是 Kotlin 的 JPA 数据类。
-
这不是JPA,这是JDBC,请多加注意。 Spring Data JDBC 很好地支持 Kotlin,见 official docs
标签: spring kotlin spring-data-jdbc