One-to-one com entidade fraca.
14/02/2012 19:43
0
Prezados, boa tarde a todos.

Estou querendo modelar um One-to-one com relacionamento com uma entidade fraca.

Fiz o seguinte teste:


class A {
String nome

static hasOne = [b: B]
}

class B {
String nome

static belongsTo = [a: A]
}


As tabelas ficaram conforme pensado e o a_id ficou sendo unique na tabela B sem ter precisado eu declarar essa informação.

Esse comportamente foi causado pelo hasOne ou pelo belongsTo ?

Não coloquei conforme pede na doc em PDF página 120:

Finally, it's a good idea to add a unique constraint on one side of the one-to-one relationship:



class Face {
static hasOne = [nose:Nose]
static constraints = {
nose unique: true
}
}


Porém, outra questão que queria levantar, é a possibilidade de tirar o id da tabela B e fazer com que o a_id seja a PK tbm da tabela B...

Vocês acham isso uma boa prática ??

Seria uma boa usar a composição para fazer isso ??? Ainda não entendi bem o conceito de compor uma classe, mas lendo a doc, achei no mínimo curioso o recurso.

Abs [] e desde já obrigado pela atenção.
Tags: one to one, hasOne, composição


0
Oi Adriano, seguinte : pelo que entendi você perguntou sobre ter uma chave composta, na segunda tabela, do ponto de vista do banco pesquisas em chave composta, são mais lentas, isso você pode mapear no domínio GORM tem informações neste link : Chave primária composta - Mapeamento GORM, sobre composição pense que é um relacionamento de objetos aonde um contem o outro ao invés de ser o outro, exemplo quando se tem herança entre Pai -> Filho o Filho é um Pai, na composição Pai tem um Filho, ou seja dentro de Pai teria uma propriedade Filho que recebe uma referência para um objeto Filho, a explicação é simplista mas é assim, minha humilde opinião(posso estar falando besteira, mas é assim que eu faço), eu me preocupa ao máximo com as relações entre os objetos e depois em casos de tunning que eu vou verificando essas coisas no banco, ou quando eu quero entender como funciona o mapeamento.
05/04/2012 17:44



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