1

我想使用 kotlin/multiplatform 实现一个项目,该项目由 jvm 上的后端和 js 中的 web-app 组成。结构将是这样的:

root
 |- webapp (kotlin/js using kotlin-react)
 |- shared (kotlin/multiplatform for shared data)
 |- server (kotlin/jvm using micronauts)

应用程序使用的数据类属于共享项目,但要使用 jpa,我需要 jvm-annotations。

一个解决方案是不使用 kotlin 数据类并在 jvm 中继承。我还尝试使用实验性实现 jpa 注释,@OptionalExpectation但此后无济于事:

  • 它们在使用时需要非注释类型,typealias而无法使用@OptionalExpectation.
  • 让多平台注释从多平台注释继承是不可能的,因为 kotlin 还不支持注释继承。

我应该避免使用数据类功能并使用继承还是有更优雅的方式?

4

1 回答 1

0

我认为一般模型类不应该在不同的应用程序之间共享,其中一个例外是使用相同数据源的应用程序。

如果您想在服务器和 Web 应用程序之间共享数据结构,我建议专门为此创建DTO类。

数据传输对象是用于封装数据并将其从应用程序的一个子系统发送到另一个子系统的对象。

于 2019-04-06T12:08:54.387 回答