Violação de chave primária

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”?

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

hehe… rox

vlw, jdbc acho q nao da mesmo =P