【问题标题】:Mapping Scala Slick objects to/from Java POJOs将 Scala Slick 对象映射到 Java POJO/从 Java POJO 映射
【发布时间】:2014-06-10 14:01:00
【问题描述】:

我想在我的后端代码中使用 Scala Slick,并且我还需要支持需要将我的域模型公开为普通 Java POJO 的遗留 Web 服务 API。

除了编写手动映射代码之外,是否有一些不错的对象映射器库或其他解决方案可以完成这项任务?我以前使用过 Orika 对象映射器(仅在 Java 中),它具有一些不错的功能,例如默认映射具有相同名称的属性,能够按类型提供自定义映射器..

【问题讨论】:

    标签: java scala slick pojo orika


    【解决方案1】:

    您可以使用可扩展的 Slick 代码生成器生成到现有类而不是新案例类的映射。您可能希望 enable = false 代码生成器的一些内部类并覆盖 EntityType 以生成简单工厂而不是案例类。见http://slick.typesafe.com/doc/2.0.2/code-generation.html

    我将在 2014 年 Scala Days 上讨论代码生成器,这可能也会对这个问题有所帮助。

    【讨论】:

      【解决方案2】:

      听起来像annotating your Scala objects@BeanProperty 会很有帮助。

      这很酷;只需将@BeanProperty 标签添加到您的 类字段、get 和 set(getter 和 setter)JavaBean 方法 将自动为您生成。

      我不相信它会处理 Java/Scala 集合之间的转换(例如,在它们的 Map/List 等相关概念之间),但它本身会实现一些集合的复制,这可能不是本身就很直观。

      【讨论】:

        【解决方案3】:

        另一种选择是使用ModelMapper 及其ValueReader SPI。虽然没有与 Slick 的开箱即用集成,但 jOOQ integration docsimplementation 可以让您了解将某些数据模型通用映射到 POJO 是多么容易。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-31
          • 1970-01-01
          • 2019-01-09
          • 2017-02-24
          • 1970-01-01
          • 2020-03-19
          相关资源
          最近更新 更多