Composite Id em relacionamento one-to-many
12/08/2009 00:00
0
Olá pessoal, estou com um problema que já esgotou minhas energias, então decidi pedir ajuda para vocês.
Tenho 2 classes relacionadas da seguinte forma:

class Group implements Serializable {

Integer grupo
String nome
String rotulo
String descricao
Integer tipo
Integer ativo
Integer marca

static hasMany = [patrocinios:Sponsorship]

static mapping = {

table "xxx"
id composite: ["grupo","marca"], generator: "assigned"
columns {
grupo column: "CD_GRUPO"
nome column: "NM_GRUPO"
rotulo column: "NM_ROTULO"
descricao column: "DS_DESCRICAO"
tipo column: "EN_TIPO"
ativo column: "BO_ATIVO"
marca column: "CD_MARCA"
}
version false

}

E a outra é :

class Sponsorship {

String palavra
Integer condicional
Integer minimo
Integer maximo
Integer marca
Group grupo

static hasOne = [grupo:Group]

static mapping = {

table "xxx"
id(generator:'sequence', params:[sequence:'mid_b2w_admin.stm_patrocinio_seq'])
columns {
id column: 'CD_PATROCINIO'
palavra column: 'NM_PALAVRA'
condicional column: 'BO_CONDICIONAL'
minimo column: 'NR_VALOR_MINIMO'
maximo column: 'NR_VALOR_MAXIMO'
}
version false

}


A classe Group não tem sequence (to usando oracle) e PK são o grupo e a marca
No action List do GroupController, a propriedade id vem Null

Alguém sabe me explicar o que acontece?

No action Save do SponsorshipController, eu preciso informar cada propriedade e seus valores manualmente no new Sponsorship(), pois, não estou retornando diretamente do formulario de cadastro o objeto Group (são mais de 8 mil e fica lentíssimo), então, informo uso grupo: Group.get(params.grupo) para retornar o objeto.
Mas está dando erro, dizendo que a FK deve ter a mesma quantidade de colunas informadas na PK.

Bem, agradeço qualquer luz, até sugestões de como modelar isso de uma forma melhor.
Abs
Tags: Grails


0
Da uma olhada neste link: <!-- m --><a class="postlink" href="http://grails.org/doc/latest/guide/5.%20Object%20Relational%20Mapping%20(GORM">http://grails.org/doc/latest/guide/5.%2 ... ng%20(GORM</a><!-- m -->).html#5.5.2.5%20Composite%20Primary%20Keys



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto