Violação de chave primária

2 respostas
fabim

Ola pessoal,

tem um momento no meu sistema em q eu tenhoq trazer um registro ( e todas as suas dependencias) de um banco oracle, no servidor, pra um banco loca firebird… posteriormente esse registro será deletedo… só que, claro, se acontecer algo como uma queda de energia ou algo assim, esse registro ficara tanto no oracle como no firebird…

entao, na hora de trazer o registro, se ele já estiver no firebird nao insiro… pra isso, estou capturando a exception da seguitne maneira:

} catch ( Exception e ) {	
   if ( !e.getMessage().contains("violation of PRIMARY or UNIQUE KEY") ) {
      RegistroCriminal = null;
      throw e;
   }			
}

mas isso nao fica muito portatil, pois a msg de violação de outros bancos será diferente…

existe alguma exception no java q me diz se a violação foi do tipo “violação de chave primaria”?

2 Respostas

andre_a_s

Via JDBC acho q não, no Hibernate, vc tem a ConstraintViolationException, que faz exatamente oq vc quer :wink:

fabim

hehe… rox

vlw, jdbc acho q nao da mesmo =P

Criado 8 de março de 2007
Ultima resposta 8 de mar. de 2007
Respostas 2
Participantes 2