Dúvida Hibernate - ManyToMany

1 resposta
fsquadro

Já fiz várias buscas (Guia de Referência do Hibernate Annotations, GUJ, Google), e não encontrei a solução. A situação é a seguinte:

Tenho uma classe Mapa (atributos: codigo, latitude, longitude, lista de cartas, lista de usuários), e uma classe Carta (atributos: codigo, nome).

Ou seja, eu tenho um mapa, que pode ter várias cartas, e essas cartas tem uma ordem (que irão aparecer na tela) em um devido mapa, e além da ordem se elas irão aparecer carregadas por default no mapa (bol_selecionado). Então fiz o seguinte mapeamento:

@ManyToMany(targetEntity=cartaMd.class, cascade={CascadeType.PERSIST, CascadeType.MERGE})

@JoinTable(
name="mapa_carta",
joinColumns={@JoinColumn(name="cod_carta")},
inverseJoinColumns = @JoinColumn( name="cod_mapa")
)
private List<cartaMd> listaCartas = new ArrayList<cartaMd>();

Então, quando o Hibernate cria as tabelas no banco, ele cria a tabela Mapa, a tabela Carta, e a tabela Mapa_carta. Esta última é criada com os campos cod_carta e cod_mapa. Porém eu gostaria de saber como faço para inserir mais 2 campos nesta tabela de ligação (mapa_carta), os campos bol_selecionado e num_ordem.

Alguem já passou por isso?

Obrigado.

1 Resposta

ze_kiefa

A sua modelagem UML se assemelha a essa (figura anexa)?

Cada Mapa possui uma lista ordenada de Cartas. E, por sua vez, cada Carta tem um atributo que a identifica se ela está selecionada por default.

É isso?

Criado 25 de setembro de 2007
Ultima resposta 25 de set. de 2007
Respostas 1
Participantes 2