6
respostas

Duvida sobre tabela associativa

Boa noite, galera desde que eu estou na faculdade conheço que tabela associativa gera quando tenho uma manytomany certo? e quando eu apenas faço isso gera uma tabela associativa também.

Exemplo vou dar uma que eu fiz aqui e também tiro uma duvida

public Class Cliente {

    @OneToMany
    private List<Carro> carros = new ArrayList<Carro>();
}

Quando eu deixo assim no meu banco gera uma Cliente_carro, com a fk do carro e cliente na tabela. Só uma duvida, posso usar ela como uma associativa onetomany?

Ai na minha tabela Cliente_carro gravo o meu cliente e os carros que ele tem. Essá é a lógica? posso fazer do jeito que fiz?

6 respostas

Oi Alisson.

Sim, você pode fazer isso, mas uma outra opção, caso você não queira criar uma tabela associativa onetomany, ou seja, apenas deixar a fk do carro na tabela Cliente, basta adicionar um:

@OneToMany(mappedBy = "cliente")

Giovana você é parente do Sergio Delfino? kkk

obrigado pela resposta então, do jeito que eu fiz não tem problema nenhum? está correto? ou é melhor nao fazer uma tabela associtiva nesse meu caso?

E Giovanna se eu fizer do jeito que você me falo eu não terei a tabela associativa correto? Mais mesmo assim na minha tabela poderei salvar um cliente com varios carros? Posso ter essa relação ainda da forma que você me falo?

Não sou parente do Sergio Delfino não hahaha. Mas sim, você pode criar uma tabela associativa, a única coisa que você deve medir é se ela é realmente necessária ou se vai facilitar algo no seu código. Como seu relacionamento é oneToMany eu aconselharia apenas adicionar um campo no Carro para saber a qual cliente ele pertence.

Gionava, deixa ver se eu entendi, então quando eu fazer a minha visão(xhtml) do meu carro, e la dentro do xhtml de carro eu fazer uma tabela ou um selectOneMenu de cliente, com os dados do cliente para fazer a referencia? Seria isso?

Isso, vc escolhe a forma que preferir p pegar o id do cliente e colocar na tabela de carro.