【发布时间】:2021-05-26 10:15:17
【问题描述】:
我已经阅读了 kotlin 的 spring 指南,它说不推荐 JPA 的数据类
但是在看到一些使用 JPA 数据类的教程和视频后,我很困惑
spring有没有找到处理新版本中数据类的方法?
【问题讨论】:
-
需要注意的一点是 Kotlin 数据类是最终的,不能被继承。在某些情况下,此限制不合适
标签: kotlin spring-data-jpa data-class
我已经阅读了 kotlin 的 spring 指南,它说不推荐 JPA 的数据类
但是在看到一些使用 JPA 数据类的教程和视频后,我很困惑
spring有没有找到处理新版本中数据类的方法?
【问题讨论】:
标签: kotlin spring-data-jpa data-class
我们使用 Spring 和 Kotlin 开发了多个服务,并使用了数据类,例如实体。这工作正常,并导致少得多的样板。但是,您确实需要使用这些构建选项/依赖项来配置您的项目,以避免 Spring 互操作性问题:
【讨论】:
您可以将 Kotlin 用于 Spring Data 实体。这适用于所有 Spring Data 模块,包括 JPA,其中 Spring Data 不是执行映射的模块,而是您的 JPA 实现。
问题在于,所涉及的所有库都是主要考虑 Java 开发的,而 Kotlin 开发时并没有考虑到 Hibernate 或 Spring Data。因此必然会出现问题。 例如,Kotlin 确实会生成很多普通用户看不到的东西,比如特殊的构造函数。但这对于反射来说是可见的,所以过去我们遇到过这样的情况,开发人员只能看到一个构造函数,但 Spring Data 看到了多个构造函数,无法决定使用哪一个。
所以你可以使用 Kotlin,但特别是当下一个 Kotlin 版本发布很长时间时,你可能会遇到一些额外的痛苦。
【讨论】: