[Grails] 关于grails外键映射的一点问题,好多方法可以映射,但怎么都是映射另一个表的主键呢,我可以映射,不是主键的字段吗?
jy00057800
2007-12-10
菜单类:
class Menus { static optionals = ['菜单代码','菜单名字','模块代码'] //static belongsTo = Modules String menuCode String menuName Modules module String bz static mapping = { table 'menus' version false columns { id column:'menu_id' module column:'module_code' } } } 模块类: class Modules { static hasMany = [menulist:Menus] String moduleCode String moduleName String bz static mapping = { table 'modules' version false columns { id column:'module_id' menulist joinTable:[name:'gcc', key:'menu_code', column:'menu_name'] } } } 碰到如下问题: 1. 我用rc1生成的外键时,总是另一个表的主键: Menus类里面module column:'module_code' 这句话没有用,生成的数据库表字段就是module_id,换成rc2的时候这句话生成的外键可以是我自定义的名字,如:'module_code', 但是生成的外键都是对饮Modules表的module_id主键, 我想在Menus类中生成外键module_code对应ModuleS类的module_code,而不是module_id 2. 发现static belongsTo = Modules这句话不是必须的,不知道对不对,希望高人指教. 3. menulist joinTable:[name:'gcc', key:'menu_code', column:'menu_name'] 测试了好多个页面,没有发现是什么作用 |