2012-06-28 6 views
2

Anorm은 유형이 지정된 기본 키 (및 그 하위 클래스 anorm.NotAssigned)에 대해 특수 유형 anorm.Pk을가집니다. 데이터베이스가 관련 키를 생성하는 경우 NotAssigned 값을 지정할 수 있습니다.anorm로 할당되지 않은 ID를 처리하는 방법은 무엇입니까?

외래 키와 동일한 개념이 있습니까? 나는 Long 타입을 사용하고 있습니다. 그러나 외래 키가 아직 알려지지 않은 경우 null 값을 할당하거나 형식을 Option[Long]으로 바꿔야합니다. 이것은 마치 그것이 행해지는 방법이 아닌 것처럼 느낍니다.

답변

0

Anorm은 관계와 관련된 기능을 제공하지 않습니다.

모델에서 FK를 가져오고 FK를 CRUD의 인수로 받아들입니다. 예 : 사용자에 속하는 "인위적인"만드는 : 등

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 

을 ...

+0

당신이'user's와'c's의 창조를위한 별도의 조치가있는 경우이 좋은 솔루션처럼 소리 . 하지만 반복 된 양식 값과 함께 하나의 작업을 사용하고 있습니다. – fynn

+0

미안, 나는 리차드처럼 들리려고하지 않고 "나는 당신의 질문에 대답했습니다."라고 말하는 방법을 알아 내려고 노력하고 있습니다. 그것에 대해 별도의 질문을하십시오. PK. – opyate