com.mysql.jdbc.exceptions.jdbc4 pacote não existe no MySQL Connector / J 8

Scadge:

Depois de atualizar a dependência Maven para mysql-connector-javaversão 5.1.x para 8.0.x os seguintes erros são recebidos mediante compilação:

[ERROR] /home/dev/testproject/src/main/java/DatabaseOperation.java:20: error: package com.mysql.jdbc.exceptions.jdbc4 does not exist
[ERROR] import com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException;

[ERROR] /home/dev/testproject/src/main/java/DatabaseService.java:15: error: package com.mysql.jdbc.exceptions.jdbc4 does not exist
[ERROR] import com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException;

Aparentemente, o com.mysql.jdbc.exceptions.jdbc4 foi removido sem qualquer depreciação ou uma nota na documentação de migração. Qual é a alternativa agora?

Scadge:

Na verdade, não houve menção de que nas notas de lançamento ou documentos de migração. Eu encontrei o tópico relevante no MySQL Fóruns: Connector / J 8, pegando violações de chave primária . Aqui está uma resposta do representante MySQL lá:

Você pode pegar java.sql.SQLIntegrityConstraintViolationException. MySQLIntegrityConstraintViolationException foi necessária devido c / J 5,1 código híbrido, ele não faz nada específico apenas estende esse java.sql.SQLIntegrityConstraintViolationException.

Em outras palavras, o pacote foi removido para reutilizar as existentes java.sqlclasses de exceção, o que é uma coisa boa, mas ainda devia ter sido documentado. Como resultado da discussão supracitado, o relatório de bug foi criado: Bug # 91439 necessidades guia de atualização para informar sobre removidas / exceções refatorado

Como eu inspecionados ainda mais os erros no meu projeto, eu encontrei estes 3 exceções e seus java.sqlmapeamentos:

  • com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException -> java.sql.SQLSyntaxErrorException
  • com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException -> java.sql.SQLIntegrityConstraintViolationException
  • com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException -> java.sql.SQLTransactionRollbackException

(E eu acho que qualquer outra exceção específica do MySQL a partir pacote jdbc4 também mapeia para o análogo SQL-exceção do pacote java.sql)

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=201444&siteId=1
Recomendado
Clasificación