如何使用anorm处理未分配的ID?

时间:2012-06-28 09:21:17

标签: scala playframework anorm

Anorm对于键入的主键(及其子类anorm.Pk)具有特殊类型anorm.NotAssigned。如果数据库负责生成相关密钥,则允许分配NotAssigned值。

外键是否有相同的概念?我目前正在使用Long类型。但是,如果尚未知道外键,则必须分配null值或用Option[Long]替换类型。不过,这感觉不是它的意思。

1 个答案:

答案 0 :(得分:0)

Anorm不提供关系的功能。

从您的模型中取出您的FK,但接受FK作为CRUD的参数,例如:用于创建属于用户的“Contrived”:

def create(c: Contrived, userId: Long)
  DB.withConnection { implicit connection =>
  val id = SQL("""
      insert into c
      (first, second, login_id)
      values
      ({first}, {second}, {login_id})
      """).on(
    'first -> c.first,
    'second -> c.second,
    'login_id -> userId

...等