database – 如何在scala slick 3中实现枚举?
发布时间:2020-12-16 19:19:12 所属栏目:安全 来源:网络整理
导读:这个问题已被提出并回答了光滑的1和2,但答案似乎对光滑3无效. 试图在How to use Enums in Scala Slick?中使用该模式, object MyEnumMapper { val string_enum_mapping:Map[String,MyEnum] = Map( "a" - MyEnumA,"b" - MyEnumB,"c" - MyEnumC ) val enum_stri
这个问题已被提出并回答了光滑的1和2,但答案似乎对光滑3无效.
试图在How to use Enums in Scala Slick?中使用该模式, object MyEnumMapper { val string_enum_mapping:Map[String,MyEnum] = Map( "a" -> MyEnumA,"b" -> MyEnumB,"c" -> MyEnumC ) val enum_string_mapping:Map[MyEnum,String] = string_enum_mapping.map(_.swap) implicit val myEnumStringMapper = MappedTypeMapper.base[MyEnum,String]( e => enum_string_mapping(e),s => string_enum_mapping(s) ) } 但是,由于光滑1,MappedTypeMapper尚未可用,并且对于光滑2的建议MappedColumnType不再可用,尽管记录为here. 最新的最佳做法是什么? 解决方法
MappedColumnType到底是什么意思不再可用?它带有通常导入的驱动程序.使用MappedColumnType将枚举映射到字符串,反之亦然:
object MyEnum extends Enumeration { type MyEnum = Value val A = Value("a") val B = Value("b") val C = Value("c") } implicit val myEnumMapper = MappedColumnType.base[MyEnum,String]( e => e.toString,s => MyEnum.withName(s) ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |