我对 Scala 比较陌生,我正在尝试在 Lift 中使用 lift-squeryl-record。Scala 是 2.8.1,Lift 是 2.3。我的问题是我想使用 Record 中的 (Mega)ProtoUser,但它与 lift-squeryl-record 冲突。
我按照以下说明进行操作:
它没有使用 ProtoUser,并试图像这样定义我的用户:
trait AbstractUser[MyType <: AbstractUser[MyType]] extends
ProtoUser[MyType] with Record[MyType] with KeyedRecord[Long] {
注意:KeyedRecord 来自包 net.liftweb.squerylrecord,而不是 net.liftweb.record
然后我收到以下错误:
overriding lazy value id in trait ProtoUser of type net.liftweb.record.field.LongField[MyType]; method id in trait KeyedRecord of type => Long needs
覆盖'修饰符`
因为 KeyedRecord 和 ProtoUser 都定义了不同的 id 方法。由于我不控制两个类/特征的代码,是否有任何“Scala”方式围绕它,比如重命名其中一种方法?我真的不想在两者之间做出选择。:(