2010-06-10 3 views
2

scala/lift webapp에서 oracle 데이터베이스에 연결되었습니다. 나는 원하는대로 데이터베이스에서 정보를 성공적으로 가져올 수 있었지만 한 가지 문제가 있습니다.ID 필드를 사용하지 않고 다른 열 이름을 사용할 수 있습니까? in Lift

액세스하려는 각 테이블에 대해 응용 프로그램이 특성 IdPK와 함께 작동 할 수 있도록 ID 필드를 추가해야합니다.

이것을 무시하는 데 사용할 수있는 mapper 클래스 또는 특성은 무엇입니까? 나는 하나를 찾으려고했지만 그것을 찾을 수 없습니다. 사람들은 항상 ID라고 불리는 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를 테이블의 기본 키로 사용하고 싶습니다.

감사합니다.

답변

3

IdPK 특성을 사용해야하는 이유가 없습니다. 당신이 소스를 선택하면, 그 다음과 같이 정의 알면 참조 :

trait IdPK /* extends BaseLongKeyedMapper */ { 
    self: BaseLongKeyedMapper => 
    def primaryKeyField = id 
    object id extends MappedLongIndex[MapperType](this.asInstanceOf[MapperType]) 
} 

그러니까 기본적으로, 그것은 id라는 긴 인덱스를 생성 justs과 기본 키 있습니다. 이드의 다른 이름으로 쉽게이 작업을 수행 할 수 있습니다.

+0

와우 나는 그것을 시도했지만 나는 그것을 엉망으로 만들었거나 약간의 오타가 있었거나 올바르게 작동하지 않았기 때문에 데이터베이스에 바로 설정하지 않았다고 생각합니다. 감사! – user357872