Relacionamento no Banco ou no Hibernate?

Olá galera!

Eu tive a seguinte duvida. Quando eu crio o relacionamento no hibernate eu preciso criar também os relacionamentos no banco de dados?

Se ele gerencia o banco pra ti, ele mesmo cria isso…

Não necessariamente, você pode fazer seu mapeamento relacionando duas entidades por campos das tabelas que não são necessariamente chaves estrangeiras nas tabelas.

Um belo exemplo disso é quando se usa MySQL, que tem algumas restrições quanto a chaves estrangeiras.

Só tome cuidado, pois uma vez que não existe o relacionamento no banco de dados, você pode acabar inserindo “filhos sem pai” nas tabelas.

Ex: Salvar um funcionário sem existir a pesso…entendeu ?

Eu particularmente gosto do relacionamento dentro do banco também, evita problemas, ex: um sistema de terceiros que não usa hibernate pode fazer merda…ou quando acessa o banco direto para dar manutenção, o bom é ficar no banco a integridade. Tem casos que não tem como ex: o mysql com tabelas MyISAM.

mas se usa mysql com INNODB postgree ou outro coloca no banco também.

Quem não concorda posta ae.

Falou

Amigos obrigado pela opinião de vcs.

Eu tinha entendido q o próprio Hibernate já se encarregava de manipular todos os dados da tabela sem precisar em criar os relacionamento no bd.

Eu mesmo consegui mapear em xml um relacionamento de 1:N entre uma classe Pessoa e Endereco. Em um dos meus testes eu queria apagar o registro pessoa e automaticamente todos os enderecos que estão relacionados com a pessoa. Eu consegui realizar esta operação só pq eu criei o relacionamento no bd.

Isso está certo?