Olá pessoal! Espero que possam me ajudar!
Na minha aplicação, tenho uma entity que está mapeada para gerar o id automático através da sequence do banco (Postgre). Essa entity possui itens, como Pedido > Produtos, aquela história… Está funcionando perfeitamente, quando mando persistir a classe principal, grava tbm os itens!! tudo ok!
Devido a uma integração, estou recebendo os dados com o id fixo, pois vem de outro sistema ja com um id. Quando mando persistir no banco, gera uma Exception pois como a classe está mapeada para gerar o id automatico não consigo persistir ela com um id fixo!!!
O que eu poderia fazer nessa situação! tentei algumas coisas aqui mas não tive sucesso! não quero apelar para uma “gambi”
Preciso gravar com o id que vem do outro sistema para manter uma “compatibilidade” dos código!
voce vai precisar continuar gravando com Sequence e tambem passando o Id ou só passando o Id ?
Tchello
Pelo que entendi você tem uma entidade que tem uma lista de outras entidades e deseja apenas realizar um “update” dessas, sem que seja necessário gerar um novo id pra todas essas entidades, correto?
Bom, posta seu código, digo a declaração das entidades, o método que salva e a descrição da exception.
Tenho um cenário exatamente dessa forma aqui e o update funciona perfeitamente.
Não esqueça de usar a tag code pra postar os códigos e exception, ok?
Abraços!
Tchello
Pera aí, você tem o id fixo nas entidades mas os registros não existem na tabela, é isso?
Não seria melhor fazer um dump no banco?
Pq se for adicionar tudo de novo é melhor gerar novas ids, não?
leonardo.carbone
Tchello:
Pera aí, você tem o id fixo nas entidades mas os registros não existem na tabela, é isso?
Não seria melhor fazer um dump no banco?
Pq se for adicionar tudo de novo é melhor gerar novas ids, não?
Tchello, obrigado por responder!
Vou ver se consigo explicar melhor minha situação!
Eu posso colocar meu sistema em um cliente que vai usar ele através do sistema dele, com uso de webservices, ou trabalhar diretamente no sistema, ok!
Eu preciso atender as 2 situações, ou seja, quem for usar o meu sistema direto, vai cadastrar as coisas, e nesse caso vai gerar os ids sequencias em todas as tabelas, essa parte está ok! Na outra situação, a base do meu sistema esta limpa, e o cliente vai exportar os dados do sistema dele para o meu, mas eu preciso gravar com o id que esta no sistema dele, pois em uma possível consulta, os ids precisam ser os mesmo… Por ex. o cara vai exportar um cliente do sistema dele para o meu, no sistema dele o cliente tem o código 50, ao exportar para o meu, vai ficar com o código 1… mas eu quero gravar com o id 50 entende!
Eu poderia criar uma outra tabela para manter esses vínculos, mas vou fazer isso somente se não tiver oq fazer!!!
Espero que vc entenda oq eu quis dizer rsr!!!
Obrigado!
[]s
Tchello
Mas um dump resolve isso, não?
Independente de usar JPA, JDBC, etc, faça um dump do bd.
ps: faz em algo pequeno em ambiente de testes e veja se funciona.
leonardo.carbone
Tchello:
Mas um dump resolve isso, não?
Independente de usar JPA, JDBC, etc, faça um dump do bd.
ps: faz em algo pequeno em ambiente de testes e veja se funciona.
Certo certo! Eu poderia no momento da importação, fazer esse processo então!! pegar os dados da base dele e importar na minha base por fora do sistema certo!!!???
Depois disso, atualizo o valor sequence, ai quando o usuário for fazer um cadastro novo no sistema dele, pode exportar para o meu que vai gerar o id na sequencia!!! Na verdade ele vai ter que ter esse controle dai! senão vou ter um processo manual para corrigir a base!!
Seria isso neh!!
[]s
Tchello
leonardo.carbone:
Tchello:
Mas um dump resolve isso, não?
Independente de usar JPA, JDBC, etc, faça um dump do bd.
ps: faz em algo pequeno em ambiente de testes e veja se funciona.
Certo certo! Eu poderia no momento da importação, fazer esse processo então!! pegar os dados da base dele e importar na minha base por fora do sistema certo!!!???
Depois disso, atualizo o valor sequence, ai quando o usuário for fazer um cadastro novo no sistema dele, pode exportar para o meu que vai gerar o id na sequencia!!! Na verdade ele vai ter que ter esse controle dai! senão vou ter um processo manual para corrigir a base!!
Seria isso neh!!
[]s
Isso, faça essa importação independente do sistema, é mais seguro e performático, uma vez que serão utilizados recursos do postgres diretamente.
Quanto a sequence creio que essa seja importada tbm, mas como disse anteriormente faça isso em um ambiente de teste e verifique esses detalhes, ta certo?
Posta aqui os resultados !
Abraços!
leonardo.carbone
Na verdade, as bases são diferentes!!! mas isso vai ser um trabalho de implantação dai!!
Cara, valew, você me deu uma luz aqui!!!
Muito obrigado pela… estava tão focado na app que não enxerguei outras opções!!!
Vlew