我从scala / lift webapp连接到oracle数据库。我已经能够成功地从数据库中提取信息,但我遇到了一个问题。
对于我想访问的每个表,我需要添加一个ID字段,以便该应用程序可以使用特征IdPK。
我可以用什么映射器类或特征来覆盖它?我一直试图找到一个但无法找到它。想象的人并不总是在他们制作的每张桌子上都有一个ID字段,这就叫做ID ...
class DN_REC extends LongKeyedMapper[DN_REC] with IdPK {
def getSingleton = DN_REC
object dn_rec_id extends MappedInt(this){
}
这就是我所说的。我想使用dn_rec_id作为我的主键,因为它在桌面上。
由于
答案 0 :(得分:3)
没理由你必须使用IdPK特性。如果您检查来源,您会看到其定义如下:
trait IdPK /* extends BaseLongKeyedMapper */ {
self: BaseLongKeyedMapper =>
def primaryKeyField = id
object id extends MappedLongIndex[MapperType](this.asInstanceOf[MapperType])
}
基本上,它只是创建一个名为id
的长索引并使其成为主键。您可以使用ID的其他名称轻松完成此操作。