Cannot treat multi-column property as a single-column proper
01/07/2010 00:00
Pessoal, tenho a seguinte situaçao: Um tabela de órgãos que possui uma chave primaria composta e uma tabela de Unidades que também tem uma chave primária composta e possui uma chave estrangeira referenciando a tabela de órgão em um relacionamento 1:n.
Quando tento mapear esta chave estrangeira na tabela de unidades recebo a seguinte mensagem de erro:
"Cannot treat multi-column property as a single-column property"
Acredito que o problema está no mapeamento da chave estrangeira da tabela de órgão, porém já pesquisei muito e não encontrei solução.
Alguém poderia me dar alguma dica de como resolver isso.
Abaixo segue mais detalhes.
Tabela de Orgãos-->
CREATE TABLE orgao (
cd_orgao INTEGER NOT NULL,
cd_entidade INTEGER NOT NULL,
nm_orgao varchar(30),
CONSTRAINT pk_orgao PRIMARY KEY(cd_orgao, cd_entidade));
==========================================================
Tabela de Unidades -->
CREATE TABLE unidade (
cd_orgao INTEGER NOT NULL,
cd_entidade INTEGER NOT NULL,
cd_unidade INTEGER NOT NULL,
nm_unidade varchar(30),
CONSTRAINT pk_unidade PRIMARY KEY(cd_orgao, cd_entidade,cd_unidade),
CONSTRAINT fk_orgao FOREIGN KEY (cd_orgao,cd_entidade) REFERENCES orgao(cd_orgao, cd_entidade));
==========================================================
Minhas Classess estão assim:
Class Orgao {
int cdEntidade
int cdOrgao
String nmOrgao
static hasMany = [unidades : Unidade]
static mapping = {
table 'orgao'
version false
id composite:['cdOrgao','cdEntidade']
cdOrgao column:'cd_orgao'
cdEntidade column:'cd_entidade'
nmOrgao column:'nm_orgao'
}
}
Class Unidade {
Orgao orgao
int cdUnidade
String nmUnidade
static belongsTo = [orgao : Orgao]
static mapping = {
table 'unidade'
version false
id composite:['orgao','cdUnidade']
cdUnidade column:'cd_unidade'
nmUnidade column:'nm_unidade'
orgao column:'cd_entidade','cd_orgao'
}
}
Desde já agradeço por qualquer ajuda.
Atenciosamente,
Evandro Abreu
Tags:
Grails