1
resposta

Duvida no mapeamento do relacioanmento

Ola, gostaria de saber se existe alguma diferença em qual classe irá ficar mapeado o relacionamento. Por exemplo, na classe Movimentacao existe mapeado o relacionamento com a classe Conta do tipo @ManyToOne , em vez disso, poderia mapea-lo na Classe Conta o relacionamento da classe Movimentacao como @OneToMany ??

1 resposta

Oi Osnir, tudo bem?

Suponha que você tenha uma classe Pedido e outra classe Movimentacao. Você pode optar por ter um relacionamento OneToMany unidirecional entre Pedido e Movimentacao (o Pedido teria uma coleção de Movimentacao). Ou você pode optar por ter uma associação ManyToOne entre Movimentacao e Pedido (Movimentacao teria uma referência a seu Pedido). Ou você pode optar por ter os dois. Nesse caso, a associação se torna uma associação OneToMany / ManyToOne bidirecional.

A solução que você escolhe depende principalmente da situação e do nível de acoplamento entre as entidades. Suponha que você tenha um Usuário e uma Mensagem, onde um usuário possa ter milhares de mensagens, nesse caso poderia fazer sentido modelá-lo apenas como ManyToOne de Mensagem para Usuário, porque raramente você solicitará todas as mensagens de um usuário. A associação pode ser feita bidirecional apenas para ajudar nas consultas, já que as consultas JPQL se unem entre as entidades, navegando pelas associações.