【问题标题】:Creating a mapped column type for an Abstract class Scala Slick为抽象类 Scala Slick 创建映射列类型
【发布时间】:2015-06-07 07:42:04
【问题描述】:

我正在尝试为我拥有的抽象案例类创建一个MappedCOlumnType

sealed abstract class Address(address: String)
implicit val addressToString = MappedColumnType.base[Address, String](
  addr => addr.address,
  addr => AddressUtil.address(addr)
)

但我收到一个编译器错误,指出:

value address is not a member of com.suredbits.core.protocol.Address
[error]  Note: implicit value addressToString is not applicable here because it comes after the application point and it lacks an explicit result type
[error]   {addr => addr.address } , { addr => AddressUtil.address(addr) }

当我明确将address 声明为案例类中的一个字段时。我觉得这对我来说可能是一个非常愚蠢的错误。为什么我的地址字段不可见?

【问题讨论】:

    标签: scala slick slick-2.0


    【解决方案1】:

    您示例中的address 是构造函数私有的。要使用 getter 将其公开,请将 val 添加到它的前面,如下所示:

    sealed abstract class Address(val address: String)
    

    HTH。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 2017-10-02
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多