Ola,
Estou com um problema, será que alguem tem uma solução
Tenho uma aplicação, na qual importo para dentro do sistema dados de um .txt realizando cadastro, pesquisa e atualizações com os dados extraidos. Nesse processo
posso ter a situaçao de ter dados duplicados nesse arquivo, ou seja, linhas iguais, e logicamente eu não posso duplicar informações no banco de dados.
Inicialmente pensei “Vou colocar uma constraint no banco e capturo a exception de quando a Unique for quebrada e despreso a linha duplicada”. Na hora de implementar
criei a unique no banco, a mesma funcionou, eu capturei a exception ou seja, a ConstraintViolationException e desprezei a linha duplicada, más quando continue o processo, o EJB tinha abortado a transação, de forma que nao dava pra continuar o processo sem criar uma nova transação. Mas na aplicação pra fazer isso eu teria que a cada linha processada criar uma transação e dar um commit, sendo que como o arquivo pode ser muito grande isso é inviavel.
Gostaria de saber como capturar ConstraintViolationException e não perder a transação com o EJB ?
JPA ConstraintViolationException
A
4 Respostas
O que voce manda para o banco? Objeto a objeto ou é uma lista de objetos?
Se for uma lista, vc pode tratar direto nela. Voce pode usar um Set.
A
O sistema manda um objeto por vez, porque nesse processo eu preciso tratar linha a linha, devido a necessidade de cálculos e outros procedimentos, impossibilitando de passar uma lista pro banco.
Entendi.
Voce poderia fazer os calculos e inserir na lista. Depois manda pro banco o que está na lista.
No Set, quando insere um objeto, ele retorna nulo se o mesmo já estiver na lista.
Eu precisei implementar isso ontem em C# e fiz dessa forma.
valeu!
A
E uma boa opção, vou analisar pra ver a viabilidade dessa implementação.
Obrigado.
Abraço.
Criado 10 de dezembro de 2008
Ultima resposta 10 de dez. de 2008
Respostas 4
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo