2011-05-05 118 views
3

类Ctr_country {Grails领域类的主键

String ctr_name 
    String ctr_abrev 

    String toString(){ 
     ctr_abrev 
    } 
} 

我使用SQLS Express作为数据库。我希望这个类(表)的主键是ctr_abrev。

a)我该怎么做?

+2

只是一个有用仅供参考,凸显了类名和属性时在Java/Groovy的世界皱起了眉头。 CtrCountry,ctrName,ctrAbrev会更好。 Grails会在你的数据库模式中强调表/列的名字,或者你可以在映射中控制它们,类似于在ID上给出的答案。 – Gregg 2011-05-05 19:15:04

回答

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

Grails Docs GORM id

+0

嗯感谢您的快速回答。任何问题scafauldinf显示此视图:添加1个国家后“Ctr_country找不到id为空”? – John 2011-05-05 18:41:35

+0

Grails脚手架期望在课堂上有一个名为id的属性。您有两个选择:将脚手架更改为使用ctr_abrev而不是id,或者更改类以便将id属性映射到ctr_abrev列。 'String id String ctr_name static mapping = { id generator:'assigned',column:'ctr_abrev'' – 2011-05-05 18:57:14