Dica de Grails #5 – quando usar belongsTo

Uma dúvida frequente entre aqueles que estão dando seus primeiros passos com Grails diz respeito ao modo como declaramos os relacionamentos entre nossas classes de domínio com o belongsTo. Quando devemos usá-lo?

Vamos supor a existência de um domínio composto por duas classes ilustrado no diagrama a seguir:

dominio_simples

Um livro encontra-se associado a um autor. No caso do GORM é possível representar esta associação de duas formas na classe Livro, com ou sem belongsTo:

class Livro {
    Autor autor
}

ou

class Livro {
     static belongsTo = [autor:Autor]
}

Qual opção você usa? Depende do tipo de cascateamento desejado. Segue uma regra super simples para que você decore.

Se a exclusão do pai obrigatoriamente implicar na exclusão dos filhos (a exclusão do autor excluiria os livros), use belongsTo.

Se quiser evitar a exclusão do pai quando já houverem filhos cadastrados, não use belongsTo.

Simples assim. Neste post falei apenas sobre o belongsTo, mas em um próximo pretendo falar sobre hasMany e por que recomendo a você minimizar ao máximo seu uso.

Responda

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *