2011-02-08 188 views
0

首先我必须说,我有一个现有的数据库,它不能被修改(that's为什么我有这个问题)Grails:外键作为主键?

我有两个案例,第一个是这样的: 在这如果id(主键)也必须是外键。我放的代码,它不起作用。

class SbPEstadoComponente { 

    static mapping = { 
     table 'SB_P_ESTADO_COMPONENTE'   
     version false 
     idEstadoComponenteHxPEstado column:'ID_ESTADO_COMPONENTE' 
    id column:'ID_ESTADO_COMPONENTE' 
    } 

    // Relation 
    SbPDemora idEstadoComponenteHxPEstado 
    String facturable 
    .. 
    .. 
    .. 
} 

在另一种情况下,该表有3列,那些coluns是3个表的外键。这3列也必须是复合主键。

任何想法?建议吗? 非常感谢!

回答

0

在你的子类的映射,你需要id composite: ['fkey1', 'fkey2']implements Serializable

注意,当你做一个get你将需要填充所有的复合键值