Kotlin 数据 class 与 spring jpa

Kotlin data class with spring jpa

我已经阅读了 spring kotlin 指南,它说数据 class 不推荐用于 JPA

但在看到一些使用数据 class 用于 JPA

的教程和视频后,我感到很困惑

是否spring找到了在新版本中处理数据的方法class?

您可以将 Kotlin 用于 Spring 数据实体。对于包括 JPA 在内的所有 Spring 数据模块都是如此,其中 Spring 数据不是执行映射的模块,而是您的 JPA 实现。

问题是所有涉及的库都是在开发时主要考虑 Java 而 Kotlin 不是在开发 Hibernate 或 Spring 数据时考虑的。因此,难免会出现问题。 例如,Kotlin 确实会生成很多普通用户看不到的东西,比如特殊的构造函数。但这对于反射是可见的,所以在过去我们遇到过开发人员只看到一个构造函数的情况,但是 Spring 数据看到了多个构造函数并且无法决定使用哪个。

所以你可能会使用 Kotlin,但尤其是当下一个 Kotlin 版本出现时,你可能会遇到一些额外的痛苦。

我们使用 Spring 和 Kotlin 开发了多项服务,并使用数据 类 例如实体。这工作正常并且导致更少的样板文件。但是,您确实需要使用这些构建 options/dependencies 配置您的项目以避免 Spring 互操作性问题:

https://kotlinlang.org/docs/all-open-plugin.html