Dificuldade em mapeamento [RESOLVIDO]

4 respostas
vitu

Gente gostaria de uma ajuda para mapear a seguinte coleção:

private Map<Point, BattleObject> battleObjects = new HashMap<Point, BattleObject>();

Estou utilizando JPA 2.0
Esta coleção está dentro de um objeto que preciso tornar um Entity.
BattleObject é um Entity que possui generalizações.
A coleção pode conter objetos BattleObject assim como suas generalizações.
Point é um objeto que possui apenas 2 propiedades X e Y, não tenho interesse em ter point como uma entidade.

Estou tentando um relacionamento ManyToMany, ter Point como um custom type e map-key, mas não estou tendo sucesso.

Qualquer dica é bem vinda.

4 Respostas

dipeloco

Pelo que eu saiba … para relacionar um mapa de objetos você precisa por a “chave” do objeto como “chave”(key) do mapa de dados.

vitu

Esse e o default do map-key, mas qualquer propriedade da entidade pode ser o map-key.

O que eu queria e ter o map key como campo na join table, mas estou vendo que é impossível.

mrrbigu

Você já montou o esquema do seu banco? Se já poste as tabelas que ficará mais fácil ajudar.

vitu

Obrigado por se predispor a me ajudar. Montei o modelo OO. Estou gerando o banco automaticamente, posso ter qualquer coisa desde que persista meu modelo OO.

Também consegui uma solução:

Mapeei Point como embedded, adicionei ele como propiedade do battleObject e especifiquei ele como map-key.
Gostaria de o point apenas como campo da joinTable, mas vi que isso não é possível.

Grato a todos.

Criado 15 de março de 2010
Ultima resposta 16 de mar. de 2010
Respostas 4
Participantes 3