将Scala Slick对象映射到Java POJO或从Java POJO映射Scala Slick对象
我希望在我的后端代码中使用Scala Slick,并且我还需要支持遗留web服务API,该API需要将我的域模型公开为普通Java POJO 除了编写手动映射代码外,是否还有一些很好的对象映射程序库或其他解决方案?我以前使用过Orika对象映射器(仅限Java),它有一些很好的功能,例如默认情况下使用相同名称的映射属性,能够按类型提供自定义映射器。听起来像将Scala Slick对象映射到Java POJO或从Java POJO映射Scala Slick对象,java,scala,slick,pojo,orika,Java,Scala,Slick,Pojo,Orika,我希望在我的后端代码中使用Scala Slick,并且我还需要支持遗留web服务API,该API需要将我的域模型公开为普通Java POJO 除了编写手动映射代码外,是否还有一些很好的对象映射程序库或其他解决方案?我以前使用过Orika对象映射器(仅限Java),它有一些很好的功能,例如默认情况下使用相同名称的映射属性,能够按类型提供自定义映射器。听起来像@BeanProperty 这很酷;只需将@BeanProperty标记添加到 类字段,get和set(getter和setter)JavaB
@BeanProperty
这很酷;只需将@BeanProperty标记添加到
类字段,get和set(getter和setter)JavaBean方法
将自动为您生成
我不相信它能处理Java/Scala集合之间的转换(例如,
Map
/List
等相关概念之间的转换),但它本身会实现一些集合的复制,这本身可能并不直观。您可以使用可扩展的Slick代码生成器生成到现有类的映射,而不是新的case类。您可能希望enable=false
代码生成器的一些内部类,并重写EntityType以生成简单工厂而不是案例类。看
我将在Scala Days 2014上讨论代码生成器,这可能对解决这个问题也有帮助。另一个选择是使用及其SPI。虽然与Slick没有现成的集成,但and可以让您了解将某些数据模型映射到POJO有多容易