Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como adicionar mais um atributo utilizando relacionamento @ManyToMany

Boa Noite,

No exemplo abaixo:

@Entity
public class Movimentacao {
   @ManyToMany
   private List<Categoria> categorias;
   // ...
}

Ele irá criar uma tabela no banco de dados chamado Movimentação_Categoria e nesta tabela os campos movimentacao_id e categoria_id . Como consigo adicionar um novo campo chamado valor nesta tabela. Como ficaria o código?

2 respostas

Bom dia, Fabrício! Tudo certo, cara? =)

Para falar a verdade, nunca tinha pensando nisso, mas acho que isso não é possível de se fazer usando a anotação @ManyToMany, pois o Hibernate (ou a outra implementação da JPA, que você estiver utilizando) irá criar a tabela na base de dados automaticamente.

A primeira solução que veio à minha cabeça é você utilizar a anotação @OneToMany e @ManyToOne, criando uma relação bilateral. Fazendo isso, você poderá criar uma classe que gerará a tabela intermediária, entre movimentacao_id e categoria_id e, inclusive, adicionar os atributos que você desejar, gerando novas colunas no banco, sacou? =)

Bom, isso foi o que eu pensei inicialmente... Espero ter ajudado, mas qualquer coisa manda aqui no fórum que a gente continua tentando ajudar! =)

Abraço e bons estudos,

Fábio

solução!

E aí, Fabrício! Beleza, cara? =)

A solução proposta foi o suficiente para você? Ou ainda há alguma outra questão que queira tratar?

Se estiver tudo ok, podemos fechar o tópico? =)

Abraços,

Fábio

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software