Estou lendo um livro de java, e no livro vi algo completamente novo, que eu nunca imaginei de ter uma noção de fazer isso, no livro explica um jeito de fazer esse relacionamento, e acredito que seja o correto, por um exemplo.
public class Venda {
@Manytomany
private List<Produto> produtos;
}
Muitos para muitos, no livro aconselham criam uma tabela tipo que recebem o id do produto e da venda, ficando mais ou menos assim, e com uma anotação chamada. @Embeddable, que significa que ela essa classe não ira ser persistida no banco de dados, será apenas um complemento da outra.
@Embeddable
public class VendaProdutoPK implements Serializable {
private Integer produtoId;
private Integer vendaId;
// HASHCODE E EQUALS.
}
Logo depois criamos a classe do algo como.
public class VendaProduto {
@EmbeddedId
private VendaProdutoPk id;
}
Seria algo mais ou menos assim, mais em meus projetos faço algo totalmente diferente, :(, tem algum problema nisso? Ou é bom seguir a forma que eu passei?