2011-05-05 10 views
3

클래스 Ctr_country {Grails의 도메인 클래스 기본 키

String ctr_name 
    String ctr_abrev 

    String toString(){ 
     ctr_abrev 
    } 
} 

나는 데이터베이스로 SQL ((•)) Express를 사용하고 있습니다. 이 클래스 (테이블)의 기본 키를 ctr_abrev로 지정합니다.

a) 어떻게해야합니까?

+2

그냥 도움이 참고로, 클래스 이름에 밑줄과 속성은 자바/멋져요 세계에서 눈살을 찌푸리게된다. CtrCountry, ctrName, ctrAbrev가 더 좋을 것입니다. Grails는 DB 스키마의 테이블/컬럼 이름을 강조하거나 ID에서 주어진 대답과 비슷하게 매핑에서이를 제어 할 수있다. – Gregg

답변

5
static mapping = { 
    id generator:'assigned', name:'ctr_abrev' 
} 

Grails Docs GORM id

+0

hm 고맙습니다. scafauldinf가이 문제를 표시하는 데 문제가있는 경우 : 1 개 국가를 추가 한 후 'Ctr_country는 (는) ID가없는 경우'입니까? – John

+0

Grails 스캐 폴딩은 클래스에 id라는 속성이 있어야합니다. 두 가지 옵션이 있습니다 : scaffolding을 변경하여 id 대신 ctr_abrev를 사용하거나 id 속성이 ctr_abrev 열에 매핑되도록 클래스를 변경하십시오. '문자열 id 문자열 ctr_name 정적 매핑 = { id 생성기 : 'assigned', 컬럼 : 'ctr_abrev' –

관련 문제