associacao uni one-to-many. Por que chave nullable?  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
ronaldorezende
JavaGuru

Membro desde: 16/03/2005 14:26:23
Mensagens: 233
Offline

Veja esse trecho do livro Hibernate In Action:
There is an important issue to consider, which, in our experience, puzzles many
Hibernate users at first. In a unidirectional one-to-many association, the foreign
key column CATEGORY_ID in the ITEM must be nullable.

Se eu tenho uma associação unidirecional um-para-muitos, a chave estrangeira deve aceitar valores nulos. Isso seria uma limitação técnica do hibernate?
Na minha regra de negócio, 1 Cliente possui 0..* orçamentos. Não tem sentido eu colocar que o orçamento pode existir sem 1 cliente. E eu não tenho necessidade de deixar orcamento saber qual é o cliente dele, pois sempre irei localizar orcamento a partir do cliente. Eu localizo o cliente e obtenho os orcamentos dele. Não irei precisar de fazer um orcamento.getCliente.
Vocês acham que o meu design está errado? O que eu devo fazer nesse caso? O hibernate só aceita chave estrangeira nula, se a associação for bidirecional (pelo que eu entendi).
ronaldorezende
JavaGuru

Membro desde: 16/03/2005 14:26:23
Mensagens: 233
Offline

Não precisa responder.
Está certo. Pela lógica, sempre que a cardinalidade for maior ou igual a 1, deve-se ter a navegabilidade. Sem uma referência para o objeto, é possível criar a classe sem mencionar o objeto, fazendo com que a cardinalidade seja 0.
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team