[Meio Resolvido] Chave composta em uma tabela de relacionamento do hibernate  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
crpablo
Java Ninja
[Avatar]

Membro desde: 09/11/2007 14:48:58
Mensagens: 296
Localização: Floripa/Brazil
Offline

Deixa eu explicar bem meu problema... Talvez alguém já tenha passado por isso, ou saiba pelo menos o caminho a seguir...

Explicando....

Eu tenho um bd legado, onde, entre outras, tenho uma tabela USUARIO e uma MAPA o relacionamento dessas tabelas é N:M, ou seja, um USUARIO pode acessar vários mapas e um MAPA pode ser acessado por vários usuarios.
Devido a esse relacionamento, o hibernate criou uma tabela de relacionamento com o nome USUARIO_MAPA, que consta somente duas colunas, USUARIOS_ID e MAPAS_ID, onde é feita a ligação das duas tabelas...

O que eu estou fazendo é o seguinte, todas essas tabelas que tenho no meu bd são mapeadas pelo hibernate por suas classes, as Entitys. Através dessas classes e seus DAOS eu estou serializando o conteúdo das tabelas em arquivos XML. Esses arquivos estão sendo utilizados como uma forma de backup e resturação desse banco, além também da possível troca de SGBD...
Eu serializo em XML e depois desserializo e persisto novamente no BD.

O meu problema é o seguinte, para gerar esse XML, eu precisei criar o entity para a tabela de relacionamento(USUARIO_MAPA) que foi gerada pelo hibernate, porém, essa classe como tem somente dois atributos USUARIOS_ID e MAPAS_ID precisa ter uma coluna @Id. Então se eu deixo somente a coluna USUARIOS_ID com o annotation @Id, não consigo que usuários diferentes tenham acesso ao mesmo mapa... caso altere o annotation para MAPAS_ID, não consigo que um usuário tenha acesso a mais de um mapa...

Segue o cód. dessa class...

Já tentei várias saídas, inclusive deixando as duas colunas com @Id, como uma chave composta... mas até agora não tive sucesso...

Alguém pode ajudar com isso?

[]'s

This message was edited 4 times. Last update was at 25/02/2008 12:14:12




Pablo

[Email] [WWW] [Yahoo!] aim icon [MSN] [ICQ]
lgweb
GUJ Master

Membro desde: 03/05/2007 20:59:55
Mensagens: 1048
Localização: Curitiba-PR
Offline

Ola amigo nao sei se é o q vc precisa mas eu tenho isto no meu mapeamento


é um relacionamento onde a tabela de junçao tem a chave de duas outras como vc pode ver acima , sendo que as duas FK forman a Pk desta Entidade, espero que ajude
Abracos

Vc gosta de criar topicos duplicados?
Nao utiliza a busca antes de postar?



veja:
http://www.youtube.com/watch?v=8zFYt1_0FUE&NR=1
[Email] [WWW] [MSN]
crpablo
Java Ninja
[Avatar]

Membro desde: 09/11/2007 14:48:58
Mensagens: 296
Localização: Floripa/Brazil
Offline

Fala ae camarada...

Com esse exemplo que vc postou, agora to conseguindo persistir os dados na tabela com usuarios e mapas repetidos... porém quando dou um findAll() pra pegar todos os dados na tabela e gerar o XML, ele pega os objetos do tipo Usuario_Mapa vazios....

Mas já me deu uma luz... fico te devendo uma gelada...





Pablo

[Email] [WWW] [Yahoo!] aim icon [MSN] [ICQ]
crpablo
Java Ninja
[Avatar]

Membro desde: 09/11/2007 14:48:58
Mensagens: 296
Localização: Floripa/Brazil
Offline

Falae de novo galerinha...

Com minha classe de relacionamento mapeando as chaves compostas da seguinte forma:

Eu consigo persistir os dados na tabela da maneira correta, tipo: Um User com vários mapas e um Map com vários usuários...

Porém, quando busco todos os dados na tabela pra gerar meu XML, ele vem da seguinte forma:

Ou seja, os dados contidos nas tabelas não são serializados.

Com minhas class da seguinte forma:

Eu não consigo persistir tabelas iguais para usuários diferentes, mas o XML é gerado da maneira correta, como vcs podem ver abaixo:


A minha necessidade seria a união desses dois, lógico que descartando os dados em branco no xml gerado pela primeira class e a não permissão de persistir chaves duplicadas da segunda class...

Alguém tem alguma idéia?

Abraço



Pablo

[Email] [WWW] [Yahoo!] aim icon [MSN] [ICQ]
crpablo
Java Ninja
[Avatar]

Membro desde: 09/11/2007 14:48:58
Mensagens: 296
Localização: Floripa/Brazil
Offline

Ainda não encontrei um resolução pre esse problema...

Alguém ae pode ajudar?

[]'s



Pablo

[Email] [WWW] [Yahoo!] aim icon [MSN] [ICQ]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team