Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

सत्र बीन में EntityManager अपवाद हैंडलिंग

मेरे पास एक सुझाव है जिसका मैं अपने आवेदन में उपयोग करता हूं। हम SQLException को पुनः प्राप्त कर सकते हैं PersistenceException . से . उसके बाद, sql error code प्राप्त करने का प्रयास करें SQLException के लिए . यदि आपकी आवश्यकता sql error code प्राप्त करने की है , आप मेरे उदाहरण का अनुसरण कर सकते हैं;

public void insert(Group group) throws DAOException {
    try {
        //your operation
        em.flush();
        logger.debug("insert() method has been successfully finisehd.");
    } catch (PersistenceException pe) {
        String sqlErroCode = getErrorCode(pe);
        // do your operation based on sql errocode
    }
}

protected String getErrorCode(RuntimeException e) {
    Throwable throwable = e;
    while (throwable != null && !(throwable instanceof SQLException)) {
        throwable = throwable.getCause();
    }
    if (throwable instanceof SQLException) {
        Properties properties = --> load sql error code form configuration file.
        SQLException sqlex = (SQLException) throwable;
        String errorCode = properties.getProperty(sqlex.getErrorCode() + "");
        return errorCode;
    }
    return "NONE";
}

mysql का उदाहरण त्रुटि कोड कॉन्फ़िगरेशन

mysql_error_code.properties

#MySQL Database
1062=DUPLICATE_KEY_FOUND
1216=CHILD_RECORD_FOUND
1217=PARENT_RECORD_NOT_FOUND
1048=NULL_VALUE_FOUND
1205=RECORD_HAS_BEEN_LOCKED 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. संग्रहीत कार्यविधि का उपयोग करके MySQL डेटाबेस में समवर्ती पहुँच

  2. एक MySQL संग्रहीत प्रक्रिया में लूप के अंदर कथन का चयन करें

  3. Laravel 4 में पेजिनेशन एक पेज के लिए काम करता है। लेकिन दूसरे के लिए काम नहीं कर रहा

  4. विजुअल स्टूडियो 2015 से mysql से कनेक्ट नहीं हो सकता

  5. बाएँ जॉइन का उपयोग करके MySQL में कई तालिकाओं को अद्यतन करें