Boa Tarde,
Estou trabalhando com o Hibernate, e surgiu dúvidas teóricas e práticas sobre relacionamento de tabelas mas trabalhando com OOP.
Irei dar 2 exemplos bastante comuns em um sistema comercial.
O primeiro é quando uma tabela possui informações de outra, mas apenas uma informação, vou dar o exemplo de uma tabela de Clientes e esse Cliente possui uma cidade cadastrada que está na tabela de Cidades.
No Modelo relacional, eu crio uma tabela Clientes e dentro dela coloco um campo chamado Cidade que é inteiro e grava o código da Cidade, depois em uma futura consulta, eu posso fazer um inner join, algo do tipo
Select Clientes.*,Cidades.* from Clientes Clientes
inner join Cidades Cidades on Cidades.Codigo = Clientes.Cidade
Agora utilizando OOP, isso é conhecido com um relacionamento One-To-One, certo? e dentro do meu Bean cidade, eu colocaria um Attributo do tipo Cidades, certo? Quando eu fosse montar meu HQL, como ficaria?
Agora a segunda dúvida é a mais difícil de entender.
Vamos supor no exemplo de uma tabela de Fabricas e uma Tabela de Produtos. A fábrica, vende vários produtos, enquanto 1 produto, pode ser vendido em fábricas diferentes. Por exemplo, a Fabrica 1, pode vender o produto 1, 2, 3… e a Fabrica 2 pode vender o Produto 2 mas com outro preço e etc.
No Modelo relacional, eu tinha uma tabela de Produtos (onde cadastro os produtos) uma de Fabrica (onde cadastro as Fábricas) e uma FabricaProdutos, onde entraria o Codigo da Fabrica, o Codigo do Produto, e outros dados particulares como Preço Unitário, Qtde em Estoque e etc…
Como eu posso implementar isso em Beans? Isso é um many-to-many? many-to-one? Nessa parte estou totalmente boiando… Como ficaria um HQL para por exemplo, trazer quais as fábricas que trabalham com determinado produto?
Desculpem o texto longo, mas realmente estou com dúvidas nesse ponto
